我制作了一个简单的Django webapp,它以CharField的形式从用户那里获取两个字符串输出,但这两个字符串需要立即在终端上自动运行我的" count.py"脚本生成另一个网页(显示我的count.py脚本的结果)。
终端中的,用户在网页字段上提交data1和data2后,应在后端生成如下命令:
count.py data1 data2
其中data1,data2来自于用户点击网页上的提交按钮后的views.py。 我需要以某种方式编写代码,一旦用户点击提交按钮,就会自动生成此终端命令。
以下是我的views.py
中的代码def fields (request):
form = first_form(request.POST or None)
data1 = request.POST.get('data1')
data2 = request.POST.get('data2')
if form.is_valid():
#### how should i execute the arguments
'data1' and 'data2' run in terminal with my
'count.py' script #####
return render(request, "first_page.html", {'form': form})
这是我的count.py的代码:
def count (a, b):
word = False
a = " " + a + " "
b = " " + b + " "
result = 0
for i in range (len (a)-1):
if a[i] == " " and a[i+1] != " ":
word = True
result += 1
else:
word = False
for i in range (len (b)-1):
if b[i] == " " and b[i+1] != " ":
word = True
result += 1
else:
word = False
return result
答案 0 :(得分:1)
你可以这样做:
import subprocess
subprocess.Popen(['python', 'count.py', 'whatever'])
但是,我认为count应该是某个Model的一部分,你应该在你的视图中调用它