在django网页中执行python脚本

时间:2016-08-17 14:07:50

标签: python django django-views

我有一个处理文本的python脚本, 我想用django创建网页,然后django调用python脚本来执行它。

这是我的案例:

网页上有一个输入文字,当我们点击按钮时,脚本会获取输入文本,处理它并在网页中返回结果。

我该如何执行此任务?

1 个答案:

答案 0 :(得分:5)

  1. 使用文本输入创建表单,如下所示:

    <form action="{% url "hello" %}" method="post">
      {% csrf_token %}
      <input name="hiya">
      <input type="submit">
    </form>
    
  2. hello中找到urls.py网址:

    from . import views
    
    urlpatterns = [
       # ...
       url(r'^blabla$', views.whatever, name='hello'),
    ]
    
  3. 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')
    
  4. 然而,您可能不想这样做。调用库函数来创建一个全新的进程要高效得多,而且通常也更容易。 Django也有一些细节,使得做任何事情都比一个微不足道的形式更好,我建议阅读Django教程来理解它们。