Flask-Session

Posted st-st

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask-Session相关的知识,希望对你有一定的参考价值。

一、原理

基于框架的session,但是重新封装了session_interface,修改了open_session()和save_session()

 

二、下载

pip install flask_session

 

三、使用

导入:from flask_session import Session

实例化:Session(app) 

 

四、用redis存储session

1.导入flask_session的Session

2.实例化Session

3.修改配置文件并注册

4.在视图中使用session

# __init__.py
from flask import Flask
from flask_session import Session
from mydemo.views.mysession import sessionBlue

def create_app():
    app = Flask(__name__)
    app.config.from_object("settings.RedisConfig")  # 导入自定义的配置文件
    Session(app)                                # 实例化session
    app.register_blueprint(sessionBlue)           # 注册蓝图
    return app
# settings.py
import redis

class RedisConfig(object):
    ‘‘‘将session写入redis数据库‘‘‘
    DEBUG = True
    # 设置session的类型
    SESSION_TYPE = "redis"
    # 设置redis的连接
    SESSION_REDIS = redis.Redis(host=127.0.0.1,port=6379)

‘‘‘
源码
if config[‘SESSION_TYPE‘] == ‘redis‘:
session_interface = RedisSessionInterface(
    config[‘SESSION_REDIS‘], config[‘SESSION_KEY_PREFIX‘],
    config[‘SESSION_USE_SIGNER‘], config[‘SESSION_PERMANENT‘])
‘‘‘
# mysession,py
from flask import Blueprint
from flask import session


sessionBlue = Blueprint("sessionBlue",__name__)

@sessionBlue.route("/set")
def set_session():
    # 设置session
    session[name] = xiaoming
    return "set"

@sessionBlue.route("/get")
def get_session():
    print(session[name])
    return "get"
# manage.py

from mydemo import create_app

app = create_app()

if __name__ == __main__:
    app.run()

 

五、使用方式:

flask_session是基于session,导入flask的框架使用session即可

以上是关于Flask-Session的主要内容,如果未能解决你的问题,请参考以下文章

flask-session

flask-session

flask-session

flask-session组件

flask-session组件

flask-session