在我的一个视图中,我有几个步骤,它们需要5到7分钟才能完成,所以我想知道是否有方法在浏览器中打印视图的状态,例如:
“正在计算模型…”
“后期处理模型…”
“制作数据库…”
“正在清理旧桌子…”
有办法吗?
谢谢!
最佳答案
如此沉重的负担可能不应成为django观点的一部分。您可能需要研究异步任务管理的django celery。
但是,通过轮询服务器,您可以做类似的事情。简单的设置,使用short polling(基本上是一个javascript循环,每1秒触发一个ajax请求到服务器,检索一个状态响应*,您可以使用它向用户显示任何内容)。
*您必须设置一个url和函数,以某种方式计算状态,或者如果您使用的是芹菜,则可以使用它的异步结果