2009-06-03 79 views
0

這是我的問題。在第一次運行腳本之後,DJango繼續存儲所有全局對象。例如,在您重新啓動應用程序服務器之前,您在全局的views.py中實例化的對象將在那裏。這很好,除非你的對象與可能超時的外部資源有關。現在我想糾正的方式是某種工廠方法,檢查對象是否實例化,如果不是,則創建它,然後返回它。但是,這會失敗,因爲自從最後一個頁面請求以來,對象就存在那裏,所以工廠方法總是返回第一個請求期間實例化的對象。如何重新加載全局變量在每個頁面刷新在DJango

我在尋找的是一種觸發事件發生的方法。我已經看到了通過實現自己的中間件來實現這一點的方法,但我認爲這是過度的。有誰知道一些保留的方法或其他每個請求觸發器。

回答

6

簡單:不要使用全局對象。 如果你想要一個視圖內的對象,在視圖中實例化它,而不是全局的。這樣它將在視圖結束後收集。

+2

此外,您可以將會話用於「全局」(實際上是持久性)對象,直到用戶註銷。 – 2009-06-03 23:59:22

相關問題