2016-07-26 76 views
0

我想在燒瓶中保存一個全局變量,並且在閱讀了一些文檔後,我知道'flask.g'可以做我想做的事情,但在測試過程中,我發現變量'g'不能像會話一樣保存,如果我在同一個應用程序中更改頁面,變量'g'錯過它的屬性,在閱讀了一些文檔之後,我發現在以前版本的flask中,變量'g'僅在請求上下文中,但是'Starting with Flask 0.10 this is stored on the application context and no longer on the request context which means it becomes available if only the application context is bound and not yet a request.'如何在燒瓶中保存一個全局變量?

所以我想知道爲什麼變量'g'不能保存在我的應用程序的所有頁面中,如果我想保存一個可以在所有頁面中使用的全局變量,我應該怎麼做?

thx!

+0

如果您的數據是持久性的,爲什麼不使用會話? –

+0

這是一個硒變量,不僅僅是一些數據。 –

回答

0

您可以保存這些類型的變量在一個單獨的config.py類變量的形式,通過簡單地導入一個類變量訪問任何頁面變量

app.py

from config import GetConfig 

print GetConfig.var 

config.py

class GetConfig: 
    var=10 
    def __init__(self): 
     pass 
+0

是的,最後我嘗試這種方式,但我仍然想知道爲什麼flask.g無法保存爲全局變量。 –

+0

好吧,只需在__init__.py中添加全局變量名並在任何文件中訪問該變量名 –

0

你可以使用另一種方法是瀏覽器緩存,你應該讓你的Web服務器無國籍儘可能含義每個請求到服務器的完全獨立,因此不共享任何狀態。

相關問題