通过html按钮在Django项目外部运行外部Python脚本



我试图通过html按钮运行python脚本,但我得到了以下错误。我不知道为什么。请帮忙把它去掉。错误是:

模块"sys"没有属性"execute">

views.py:

from subprocess import run, PIPE
from django.shortcuts import render
import requests
import sys
def external(request):

out = run([sys.execute,'/home/abc/Documents/test.py'], shell=False, stdout=PIPE)
print(out)
return render(request, 'home.html', {{'data1': out}})

home.html:

<html>
<head>
<title> RUN PYTHON SCRIPT </title>
</head>
<body>
<form action='{% url "external" %}' method="post">
{% csrf_token %}
<input type="submit" name="btn" value="start analyse" id="toggle1" onclick="location.href='{% url 'external' %}'" />
</form>
</body>
</html>

urls.py:

path('external/', views.external, name="external"),

即使是按钮也不会执行test.py python脚本,并给出以下错误:模块"sys"在视图中没有对象"execute"。py

请帮助我通过html按钮运行脚本

尝试使用类似的子流程库

import subprocess
subprocess.run(["ls", "-l", "/dev/null"], capture_output=True)

尝试更改格式行,如下所示:<form action="/external" method="post">

最新更新