我有一个处理文本的python脚本, 我想用django创建网页,然后django调用python脚本来执行它。
这是我的案例:
网页上有一个输入文字,当我们点击按钮时,脚本会获取输入文本,处理它并在网页中返回结果。
我该如何执行此任务?
答案 0 :(得分:5)
使用文本输入创建表单,如下所示:
<form action="{% url "hello" %}" method="post">
{% csrf_token %}
<input name="hiya">
<input type="submit">
</form>
在hello
中找到urls.py
网址:
from . import views
urlpatterns = [
# ...
url(r'^blabla$', views.whatever, name='hello'),
]
在views.py
文件中,创建所需的视图:
def whatever(request):
if request.method == 'POST':
import subprocess
output = subprocess.check_output(["script.py", "--", request.POST['hiya'])
return HttpResponse(output, content_type='text/plain')
然而,您可能不想这样做。调用库函数来创建一个全新的进程要高效得多,而且通常也更容易。 Django也有一些细节,使得做任何事情都比一个微不足道的形式更好,我建议阅读Django教程来理解它们。