之前业务中需要根据前端的提交,用django在后端中跑某个脚本进行执行,因为执行时间较久,所以用的是异步,不知道什么是异步的可以先去研究django的异步执行框架celery,这里直接展示我的异步环境下执行Python脚本的代码:
tasks.py中的操作:
import subprocess # 这个库是能够直接运行脚本的关键
@task(bind=True)
def run_script(self):
'''
# 运行python脚本
:param self:
:return:
'''
subprocess.run('替换为脚本路径', shell=True)
return print('done')
views.py中的操作:
def script_start(request):
if request.method == "POST":
# 执行task任务
run_script.delay()
result = {
'key' : '填入你想要传给前台显示的参数'
……
}
return render(request, "done.html", {'result': result})
别忘了在url中配置相应的url,然后就可以了~