zoukankan      html  css  js  c++  java
  • 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即可

  • 相关阅读:
    ES6笔记分享 part 2
    ES6笔记分享 part 1
    JS事件之自建函数bind()与兼容性问题解决
    JavaScript DOM事件对象的两个小练习 | 学习内容分享
    JavaScript数组的方法 | 学习笔记分享
    JavaScript构造函数 | 学习笔记分享
    Hexo+Github个人博客搭建 | 实战经验分享
    Hello world!
    “1+X”证书Web前端开发等级考试简介
    1+x证书Web 前端开发初级——理论考试(试卷1)
  • 原文地址:https://www.cnblogs.com/st-st/p/10209839.html
Copyright © 2011-2022 走看看