【发布时间】:2012-09-06 04:40:58
【问题描述】:
对于我已经提出的问题,这是一种不同的方法
Simultaneous multitasking in Django
所以它会分享介绍。
我的网络项目中有一个耗时的功能。在函数进行计算时,应呈现一个网页,通知用户计算完成后将通过电子邮件发送结果。
views.py:
def web_function(request):
...
return HttpResponse(results_will_be_sent_by_mail.html)
time_consuming_function()
由于必须渲染的页面非常简单,并且它不需要来自 time_sumption_function() 的返回信息,有没有办法跳过多任务处理并以某种方式首先渲染和显示页面,然后调用 time_sumption_function()?
可能的解决方案:
- 当在调用“web_function”之前的页面上按下输入按钮时,附加一些将呈现临时页面的javascript代码?
更新
最终使用芹菜。尝试 Ajax 没有成功。
【问题讨论】:
-
你不能使用
request_finished信号吗?但是,我不确定它是在发送响应之前/之后提出的。 docs.djangoproject.com/en/dev/ref/signals/#request-finished