在django网页中执行python脚本

Ham*_*ref -2 python django django-views

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

这是我案例的一个例子:

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

我该如何执行此任务?

小智 6

  1. 创建一个带有文本输入的表单,如下所示:

    <form action="{% url "hello" %}" method="post">
      {% csrf_token %}
      <input name="hiya">
      <input type="submit">
    </form>
    
    Run Code Online (Sandbox Code Playgroud)
  2. helloURL 路由到urls.py:

    from . import views
    
    urlpatterns = [
       # ...
       url(r'^blabla$', views.whatever, name='hello'),
    ]
    
    Run Code Online (Sandbox Code Playgroud)
  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')
    
    Run Code Online (Sandbox Code Playgroud)

但是你可能不想这样做.调用库函数来创建一个全新的进程要高效得多,而且通常也更容易.Django还有一些细节可以让你做的事情不仅仅是一个微不足道的形式,我建议阅读Django教程来理解它们.