繁体   English   中英

返回HttpResponse()后在Django视图中调用函数

[英]Calling a function in Django view after return HttpResponse()

这是我已经问过的问题的另一种方式

Django中的同时多任务处理

因此它将分享简介。


我的网络项目中有一个耗时的功能。 在函数进行计算时,应渲染网页,通知用户一旦完成计算,结果将通过电子邮件发送。

views.py:

def web_function(request):
    ...
    return HttpResponse(results_will_be_sent_by_mail.html)
    time_consuming_function()

由于必须渲染的页面非常简单,并且不需要time_standing_function()的返回信息,因此有一种方法可以跳过多任务处理,而只是以某种方式首先渲染并显示页面,然后调用time_standing_function()?


可能的方法:

  1. 在调用“ web_function”之前的页面上按下输入按钮时,附加一些将呈现临时页面的JavaScript代码?

更新

最后用芹菜。 在尝试Ajax方面没有成功。

函数中的return语句表示该函数的结尾。*您代码段的time_耗时函数超出了函数的范围 ,因此将永远无法使用。

处理任务的解决方案可能是: 芹菜 ,非常适合将功能包装为异步任务。 如果必须同步进行操作,为什么不为此使用ajax,以便您可以至少向用户显示使用BeforeSend发生了什么情况?

*对于Python和大多数(如果不是全部)面向对象的编程语言,这是正确的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM