Flask 會話接口

2021-08-11 11:02 更新
0.8 新版功能.

會話接口提供了簡單的途徑來替換 Flask 正在使用的會話實現(xiàn)。

Notice

PERMANENT_SESSION_LIFETIME 配置鍵從 Flask 0.8 開始可以是一個整數(shù)。 你可以自己計算值,或用應(yīng)用上的 permanent_session_lifetime 屬性來自動轉(zhuǎn)換結(jié)果為 一個整數(shù)。

測試客戶端

應(yīng)用全局變量

只在一個請求內(nèi),從一個函數(shù)到另一個函數(shù)共享數(shù)據(jù),全局變量并不夠好。因為這 在線程環(huán)境下行不通。 Flask 提供了一個特殊的對象來確保只在活動的請求中 有效,并且每個請求都返回不同的值。一言蔽之:它做正確的事情,如同它對 requestsession 做的那樣。

flask.g

在這上存儲你任何你想要存儲的。例如一個數(shù)據(jù)庫連接或者當(dāng)前登入的用戶。

從 Flask 0.10 起,對象 g 存儲在應(yīng)用上下文中而不再是請求上下文中,這 意味著即使在應(yīng)用上下文中它也是可訪問的而不是只能在請求上下文中。在 結(jié)合 偽造資源和上下文 模式使用來測試時這尤為有用。

另外,在 0.10 中你可以使用 get() 方法來獲取一個屬性或者如果這 個屬性沒設(shè)置的話將得到 None (或者第二個參數(shù))。 這兩種用法現(xiàn)在是沒有區(qū)別的:

user = getattr(flask.g, 'user', None)
user = flask.get.get('user', None)

現(xiàn)在也能在 g 對象上使用 in 運算符來確定它是否有某個屬性,并且它 將使用 yield 關(guān)鍵字來生成這樣一個可迭代的包含所有keys的生成器。

這是一個代理。詳情見 留意代理

有用的函數(shù)和類

flask.current_app

指向正在處理請求的應(yīng)用。這對于想要支持同時運行多個應(yīng)用的擴展有用。 它由應(yīng)用上下文驅(qū)動,而不是請求上下文,所以你可以用 app_context() 方法 修改這個代理的值。

這是一個代理。詳情見 留意代理 。

flask.abort(code)

拋出一個給定狀態(tài)代碼的 HTTPException 。 例如想要用一個頁面未找到異常來終止請求,你可以調(diào)用 abort(404) 。

參數(shù): code – the HTTP error code.


 


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號