session是基於cookie實現的,儲存在服務端的鍵值對,形式為{隨機字串:『******』},同時在瀏覽器中的cookie中也會儲存相同的隨機字串,用來再次請求時驗證
注意:flask中的session是儲存在瀏覽器中的,預設的key是session(加密的cookie),當然也可以將其儲存在資料庫中flask中有乙個session物件,它允許你在不同請求間儲存特定使用者的資訊。它是在cookie的基礎上實現的,並且對cookie進行金鑰簽名要使用會話,你需要設定乙個金鑰
同request一樣,session基於上下文管理配置secret_key
因為flask的session是通過加密後儲存在cookie中的,有加密就需要有解密用的金鑰,所以只要用到了flask的session模組,就一定要配置』secret_key』這個全域性巨集。一般設定為24位的字元。配置方法有兩種
配置方法一:
新建乙個config.py檔案配置secret_key
config.py
secret_key='*********x'
然後在主執行檔案裡面新增config檔案裡面的內容
main.py
from flask import flask,session
import config
配置方法二:
直接在主執行模組裡面配置,配置config的時候也是和操作字典是一樣的
main.py
from flask import flask,session
#增
session['username']='helloworld'
#查result=session['key'] ###如果key不存在,會raise error
result=session.get('key') ###如果key不存在,返回none
#刪session.pop('key')
#清空session
使用者請求的request進來,例項化requestcontext,建立request_context物件,初始化session為空
當接受到使用者請求之後,會呼叫flask物件的session_inte***ce物件的open_session方法,以此來獲取乙個session物件。
資料返回給使用者,並把內容中的session重新儲存
由上面兩張中的**可以看出,session確實是儲存在瀏覽器中的。
這個博主寫的很好,就直接貼鏈結了,侵刪
基於Flask session機制的單點登入
flask 預設的是 client side session flask by default usesthe werkzeug provided secure cookie as session system.it works by picklingthe session data,compres...
ofstream和ifstream詳細用法
ofstream是從記憶體到硬碟,ifstream是從硬碟到記憶體,其實所謂的流緩衝就是記憶體空間 在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o,stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設的標準輸出流 ...
ofstream和ifstream詳細用法
標籤 c 檔案ofstream是從記憶體到硬碟,ifstream是從硬碟到記憶體,其實所謂的流緩衝就是記憶體空間 在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o,stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設...