Flask 會話接口

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

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

Notice

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

測試客戶端

應用全局變量

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

flask.g

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

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

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

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

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

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

有用的函數(shù)和類

flask.current_app

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

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

flask.abort(code)

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

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


 


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號