Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django从按钮调用函数,同时保持在同一页面上_Python_Django - Fatal编程技术网

Python Django从按钮调用函数,同时保持在同一页面上

Python Django从按钮调用函数,同时保持在同一页面上,python,django,Python,Django,我有一个动态创建的表,其中包含来自django模型的数据。此表显示了有关每个数据元素的附加信息 在最后一列中,应该有 为每行显示一个按钮,该按钮将使用该特定数据元素中的其他关键字运行脚本,而无需重新加载或冻结页面 如果脚本仍在运行(可能需要数小时),则应显示进度图标并 如果脚本已经完成,应该会显示一个按钮,重定向到results.html 我如何用django编程? 目前,我正在手动执行一个脚本,但为此,我将重定向到另一个带有要分析的参数的模板,当执行脚本时(使用call_命令('my_sc

我有一个动态创建的表,其中包含来自django模型的数据。此表显示了有关每个数据元素的附加信息

在最后一列中,应该有

  • 为每行显示一个按钮,该按钮将使用该特定数据元素中的其他关键字运行脚本,而无需重新加载或冻结页面
  • 如果脚本仍在运行(可能需要数小时),则应显示进度图标并
  • 如果脚本已经完成,应该会显示一个按钮,重定向到results.html
我如何用django编程? 目前,我正在手动执行一个脚本,但为此,我将重定向到另一个带有要分析的参数的模板,当执行脚本时(使用call_命令('my_script',*args),页面将冻结,直到脚本结束


您需要一种启动异步任务的方法,以及获取任务状态的方法,然后添加一些js/ajax代码来启动任务并相应地更新表


对于前两部分,规范的解决方案是。

另一种不太推荐的方法(不太推荐,但可能比芹菜更容易设置)是在后台完成工作,并将状态和结果存储在某个地方(例如,在数据库或像redis这样的内存存储中)


主要的缺点是您无法控制子进程中发生的事情。根据您的项目,如果您不关心进程控制,这可能是更好的解决方案。

只要用户不能在脚本已经运行时再次启动脚本,我就不需要控制进程。我如何生成子进程对于该特定行,不离开页面?好的,我使用
subprocess.Popen(['python','my_script.py',args])
运行脚本。如果完成了,我可以使用
.pool()
在该python脚本中进行检查,但是当用户四处浏览时,如何在网站上动态检查?