3

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

谁能尽快帮我解决这个问题?您的帮助将不胜感激。

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

TestProject(项目文件夹)

我的应用程序(文件夹)

  • 整数.py
  • 管理员.py
  • 模型.py
  • 测试.py
  • 网址.py
  • 视图.py

模板(文件夹)

  • 索引.html

测试项目(文件夹)

  • 整数.py
  • 网址.py
  • 设置.py
  • 视图.py
  • wsgi.py
  • 管理员.py
  • 管理.py

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

4

1 回答 1

1

您可以采取两种基本方法来执行此操作:

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

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

(2)如果该脚本中有特定的函数可以调用,则可以将包含该python脚本的目录添加到 中sys.path,然后导入该脚本并调用相关函数。这在此堆栈溢出问题中有详细说明,并且可以说是更清洁的方法(作为旁注,建议将 hello.py 移动到更合适的位置,C: 驱动器的根目录可能不是存储脚本的正确位置)。

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

from hello import function_to_call
function_to_call()

如果您正在努力拼凑允许您显示按钮并通过调用脚本对按钮按下作出反应的网页,建议您阅读优秀的 Django 教程编写您的第一个 Django 应用程序

于 2013-06-19T21:04:09.980 回答