2014-05-01 23 views
0

我使用django執行一些需要很長時間才能完成的活動(大約2-3小時)。瀏覽器(firefox)不斷加載長django進程

django表單由用戶填寫並提交以啓動活動。 視圖函數完成所有必需的功能,但是當一切完成時,會返回一個HttpResponse來通知用戶活動已完成。

問題是,當進程在後端完成時,我的瀏覽器(firefox)仍然繼續加載而不是顯示返回的HttpResponse。

任何人都可以告訴我,無論是瀏覽器問題還是我的代碼中的錯誤。

views.py

def test(request) : 

    if request.method == 'POST': # If the form has been submitted... 

     form = TestForm(request.POST) 

     if form.is_valid(): # All validation rules pass 
      form_data = form.cleaned_data 

      ## Get the form data and use it 
      output, error = executeCommand("##Perform the required action with the form data") 

      if error == '' : 
       return HttpResponse('Work Done !! Thanks') 
      else : 
       return HttpResponse('Error Occurred') 

    else: 
     form = TesForm() # An unbound form 

    return render_to_response("test.html", { 'form' : form } , context_instance=RequestContext(request)) 

回答

0

使用celery傳遞工作過的後端處理

+0

我要試一試,但如果可能的話,你可以在這裏說一下關於芹菜。 我有兩個大任務要在一個視圖中運行,並顯示輸出完成後,芹菜是這種情況下的一個合適的選擇 – user2722127