单击subm按钮时在Django网站中运行python脚本

2024-09-27 02:24:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在启动python脚本时创建一个按钮。此脚本将打开数据.txt文件并将其转换为json,以便将来可以将其集成到数据库中。在

我今天要做的只是创建一个按钮,当单击启动脚本时(如果文件json结果.txt已创建,允许我检查功能是否正常)。 以下是我所做的:

在网址.py

url(r'whatever^$', views.recup_wos, name='recup_wos'),

在视图.py

^{pr2}$

模板accueil.html

<form action='{% url recup_wos %}' method="POST">
  <input value="Executer" type="submit">
</form>

错误消息如下:

Reverse for '' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

enter image description here

我觉得错误主要在视图上,可能是语法错误?在


我改变了模板和视图。它可以很好地重定向,但脚本无法启动:

def recup_wos(request):
if request.method == 'POST':
   os.system('Python newscript.py')
return redirect('../page/accueil')

Tags: 文件pyformtxt脚本视图模板json
1条回答
网友
1楼 · 发布于 2024-09-27 02:24:58

将字符串与url模板标记一起使用时,应使用引号:

{% url "recup_wos" %}

不清楚为什么要使用system运行python脚本。因为它是一个Python脚本,所以最好

^{2}$

如果这不可能,那么可以使用^{}而不是{}来运行命令。如果失败,那么您应该进行回溯,这可能有助于识别问题。在

import subprocess

def recup_wos(request):
    if request.method == 'POST':
        subprocess.check_call(['python', 'newscript.py'])  # nb lowercase 'python'
    return redirect('../page/accueil')

相关问题 更多 >

    热门问题