簡體   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