我有一個管理控制功能(導入數據庫)可能需要一些時間來完成,所以我想表明在此期間一些反饋給用戶 - 例如一個進度條,或者只是一些消息。即使在漫長的行動中發送頁面也是足夠的。Django的 - 顯示操作進度
在Django中最簡單的方法是什麼?
我有一個管理控制功能(導入數據庫)可能需要一些時間來完成,所以我想表明在此期間一些反饋給用戶 - 例如一個進度條,或者只是一些消息。即使在漫長的行動中發送頁面也是足夠的。Django的 - 顯示操作進度
在Django中最簡單的方法是什麼?
Ajax輪詢 - 使用客戶端計時器,您不斷查詢服務器的狀態。該過程如下所示:用戶配置數據庫詳細信息並點擊「上傳」。文件傳輸和頁面請求在服務器上啓動一個異步進程以執行數據庫導入。當用戶點擊上傳時,它啓動一個客戶端定時器,定時器會定期向服務器發送一個AJAX請求,以詢問它的進度。服務器返回JSON,客戶端腳本會計算出它想要做什麼。
COMET - 我不熟悉這一點,但傳統的AJAX的工作原理是在客戶端發送到服務器的請求。它被稱爲「拉」通信。在COMET中,這是推動。即使服務器沒有要求,服務器也會將數據推回給客戶端。這造成了服務器上比輪詢更少的情況。 Google爲使用COMET with Django的人提供了一些結果。
反向AJAX - 彗星相似。 Reverse Ajax with Django。
(我道歉,我知道至少約過去2,但我想你至少要知道它們的存在)
爲什麼沒有進步吧?..你可以詳細一點,請? – 0100110010101 2009-10-10 20:02:08
進度條也可以,但我不知道如何從執行動作的函數中控制它 – hmp 2009-10-10 20:17:23