flask_session插件的配置參數(shù)

文章轉(zhuǎn)自其他博主的分享,源鏈:https://www.cnblogs.com/cwp-bg/p/9339865.html

flask_session是flask框架實現(xiàn)session功能的一個插件,用來替代flask自帶的session實現(xiàn)機制。

配置參數(shù)詳解

  • SESSION_COOKIE_NAME
    設(shè)置返回給客戶端的cookie的名稱,默認是“session”;放置在response的頭部;
  • SESSION_COOKIE_DOMAIN
    設(shè)置會話的域,默認是當前的服務(wù)器,因為Session是一個全局的變量,可能應(yīng)用在多個app中;
  • SESSION_COOKIE_PATH
    設(shè)置會話的路徑,即哪些路由下應(yīng)該設(shè)置cookie,如果不設(shè)置,那么默認為‘/’,所有的路由都會設(shè)置cookie;
  • SESSION_COOKIE_HTTPONLY
    cookie應(yīng)該和httponly標志一起設(shè)置,默認為True,這個一般采用默認。
  • SESSION_COOKIE_SECURE
    cookie是否和安全標志一起設(shè)置,默認為false,這個一般采用默認。
  • PERMANENT_SESSION_LIFETIME
    設(shè)置session的有效期,即cookie的失效時間,單位是s。這個參數(shù)很重要,因為默認會話是永久性的。
  • SESSION_TYPE
    設(shè)置session保存的位置,可以有多種配置,
SESSION_TYPE = 'null'          : 采用flask默認的保存在cookie中;`
SESSION_TYPE = 'redis'         : 保存在redis中
SESSION_TYPE = 'memcached'     : 保存在memcache
SESSION_TYPE = 'filesystem'      : 保存在文件
SESSION_TYPE = 'mongodb'        : 保存在MongoDB
SESSION_TYPE = 'sqlalchemy'     : 保存在關(guān)系型數(shù)據(jù)庫
  • SESSION_PERMANENT
    是否使用永久會話,默認True,但是如果設(shè)置了PERMANENT_SESSION_LIFETIME,則這個失效;
  • SESSION_USE_SIGNER
    是否為cookie設(shè)置簽名來保護數(shù)據(jù)不被更改,默認是False;如果設(shè)置True,那么必須設(shè)置flask的secret_key參數(shù);
  • SESSION_KEY_PREFIX
    在所有的會話鍵之前添加前綴,對于不同的應(yīng)用程序可以使用不同的前綴;默認“session:”,即保存在redis中的鍵的名稱前都是以“session:”開頭;
for example:
SESSION_KEY_PREFIX = 'session:'
  • SESSION_REDIS
    如果SESSION_TYPE = ‘redis’,那么設(shè)置該參數(shù)連接哪個redis,其是一個連接對象;如果不設(shè)置的話,默認連接127.0.0.1:6379/0
for example:
SESSION_REDIS = redis.StrictRedis(host="127.0.0.1", port=6390, db=4)

一份常用的flask_session的配置

# 指明對session數(shù)據(jù)進行保護
SECRET_KEY = '123'
SESSION_USE_SIGNER = True
# 指明保存到redis中
SESSION_TYPE = "redis"  
SESSION_REDIS = redis.StrictRedis(host="127.0.0.1", port=6390, db=4)
# session的有效期,單位:秒
PERMANENT_SESSION_LIFETIME = 7200

flask_session的基本使用

# extensions.py
# 創(chuàng)建一個session對象
from flask_session import Session
# 創(chuàng)建一個Session的實例
session = Session()

# 在app初始化時初始化session對象,即加載配置
# __init__.py
from flask import Flask
app = Flask(__name__)
session.init_app(app=app)

#但是在使用的時候用的是flask的應(yīng)用上下文對象session
# task.py
from Flask import session

@app.route('/test', methods=['POST'])
def test():
session.get('user',None)
return ""

更詳細的介紹請參考:
https://flask-session.readthedocs.io/en/latest/
`

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、視圖-路由 路由對應(yīng)視圖函數(shù),并且可以接受參數(shù)。 參數(shù)類型 路勁參數(shù) 位置參數(shù) 關(guān)鍵字參數(shù) 請求參數(shù) g...
    月亮是我踢彎得閱讀 3,696評論 0 0
  • Flask session 概念解釋: session 是基于cookie實現(xiàn), 保存在服務(wù)端的鍵值對(形式為 {...
    mocobk閱讀 10,499評論 3 4
  • ? ??在第1章,我們已經(jīng)了解了Flask的基本知識,如果想要進一步開發(fā)更復(fù)雜的Flask應(yīng)用,我們就得了解F...
    懵懂_傻孩紙閱讀 3,105評論 0 4
  • 一、Flask簡介 Flask是一個基于python實現(xiàn)的web開發(fā)"微"框架。 Flask和Django一樣,也...
    仙靈兒閱讀 935評論 0 0
  • 準備Flask環(huán)境 具備python環(huán)境 安裝virtualenv 構(gòu)建python虛擬環(huán)境 安裝flask pi...
    markict閱讀 891評論 0 1

友情鏈接更多精彩內(nèi)容