2014-01-27 47 views
0

我正在處理處理AJAX請求的Django應用程序。該代碼是這樣的:Can Django可以在AJAX響應後進一步處理嗎?

def handler(request): 
    # save the data to the database 
    return HttpResponse(# some json) 

的問題是,我想進一步處理用戶已提交的數據,但響應與成功信息後用戶。那麼有沒有一種方法可以在不使用return的情況下做出響應?或者還有其他方法可以做到嗎?

+0

我不知道如何在不使用'return'的情況下返回'HTTPResponse',但我想到了一個技巧。在你的'js'或'jquery'代碼中收到響應之後,再次調用服務器的'ajax'並要求它啓動它的數據處理,然後在一個單獨的方法中處理這個數據處理,而不是處理器'。你也可以使用'handler'作爲一些考慮事項;我的意思是你可以檢查一個特定的鍵是否在'ajax'請求中,然後決定處理數據或對'ajax'的響應。 –

+0

感謝Zeinab。好主意。 – McFloundinho

回答

0

一般來說,您應該對這種類型的任務使用Celery:這是異步處理的標準。 您可以在這裏瞭解更多關於它的信息: Django with celery

+0

Thx,但實際上我在雲上部署應用程序,只支持純Python代碼。那麼有沒有更簡單的方法來做到這一點(原生python沒有外部工具)? – McFloundinho

+0

我不知道是否有可能,但大多數Python主機提供芹菜支持(openshift,gondor等) – Alvaro