如何通过点击django生成的html页面上的按钮来执行python程序

时间:2013-06-19 20:51:06

标签: django python-2.7

我创建了一个Django项目来启动一个htmlpage,其中有一个名为run test的按钮。我想在单击按钮时运行python脚本文件hello.py(位于django项目之外)。我对这个脚本很陌生。

有人可以尽快帮我解决这个问题吗?感谢您的帮助。

我的django项目包含以下文件:

TestProject(项目文件夹)

MyApp的(文件夹)

  • INT 的.py
  • admin.py
  • models.py
  • tests.py
  • urls.py
  • views.py

模板(文件夹)

  • 的index.html

Testproject(文件夹)

  • INT 的.py
  • urls.py
  • settings.py
  • views.py
  • wsgi.py
  • admin.py
  • manage.py

python脚本file-helllo.py位于C:/hello.py

1 个答案:

答案 0 :(得分:0)

您可以采取两种基本方法来实现这一目标:

(1)将脚本作为子进程运行(即在django应用程序之外执行单独的程序) - 这在Python docs on subprocesses中有记录。下面是一个简短的例子,您将需要通过文档来准确了解您希望如何调用脚本(即处理返回代码,输出到stdout和stderr等)

import subprocess
subprocess.call(["python", "C:/hello.py"])

(2)如果您可以调用此脚本中的特定函数,则可以将包含python脚本的目录添加到sys.path,然后导入脚本和调用相关功能。这在stack overflow question中有详细说明,可以说是更清洁的方法(作为旁注,建议将hello.py移动到更合适的位置,C:驱动器的根可能不是正确的位置商店脚本)。

import sys
sys.path.append("C:/")

from hello import function_to_call
function_to_call()

如果您正在努力整理允许您显示按钮的网页并通过调用脚本对按钮做出反应,那么建议您完成优秀的Django教程writing your first Django application