zoukankan      html  css  js  c++  java
  • Flask-session

    flask-session

    安装

    pip install flask-Session
    

    使用 session 之前,必须配置一下配置项:

    SECRET_KEY = "*(%#4sxcz(^(#$#8423" # session秘钥
    

    redis保存session的基本配置

    配置文件信息:

    import redis
    class Config(object):
        DEBUG = True
        SECRET_KEY = "*(%#4sxcz(^(#$#8423"
        # 数据库链接配置:
        #数据类型://登录账号:登录密码@数据库主机IP:数据库访问端口/数据库名称
        SQLALCHEMY_DATABASE_URI = "mysql://root:123@127.0.0.1:3306/flask_students"
        
        # 设置mysql的错误跟踪信息显示
        SQLALCHEMY_TRACK_MODIFICATIONS = True
        
        # 打印每次模型操作对应的SQL语句
        SQLALCHEMY_ECHO = True
        
        # 把session保存到redis中
        # session存储方式为redis
        SESSION_TYPE="redis"
        
        # 如果设置session的生命周期是否是会话期, 为True,则关闭浏览器session就失效
        SESSION_PERMANENT = False
        
        # 是否对发送到浏览器上session的cookie值进行加密
        SESSION_USE_SIGNER = False
        
        # 保存到redis的session数的名称前缀
        SESSION_KEY_PREFIX = "session:"
        
        # session保存数据到redis时启用的链接对象
        SESSION_REDIS = redis.Redis(host='127.0.0.1', port='6379')  # 用于连接redis的配置
    

    主文件信息 main.py,代码:

    #最开始的时候,我讲session,sesssion大字典是cookie中的val
    
    #如果我们想要存redis怎么办?
    
    from flask import Flask,session
    from flask_session import RedisSessionInterface
    import redis
    
    app = Flask(__name__)
    conn=redis.Redis(host='127.0.0.1',port=6379)
    app.secret_key = "123"
    
    #permanent=True,如果这个值为True,表示关闭浏览器,不失效,如果为Fasle,表示关闭浏览器,session就失效
    app.session_interface=RedisSessionInterface(conn,key_prefix='lqz',use_signer=True)
    
    @app.route('/')
    def hello_world():
        session['name']='66666666'
        return 'Hello World!'
    
    @app.route("/index")
    def index():
        print(session['name'])
        return "ok"
    
    if __name__ == '__main__':
        app.run()
    
    

    常规用法

    from redis import Redis
    from flask import Flask,session
    from flask_session import Session
    app = Flask(__name__)
    
    app.config['SESSION_TYPE'] = 'redis'
    
    app.config['SESSION_REDIS'] = Redis(host='127.0.0.1',port='6379')
    
    Session(app)
    
    @app.route("/")
    def index():
        session['name'] = "santa"
        return "ok"
    
    @app.route("/index")
    def index1():
        print(session['name'])
        return "ok"
    
    if __name__ == '__main__':
        app.run()
    
    
  • 相关阅读:
    2021冬季学期有感与评价
    Scala变量和数据类型
    Scala运算符
    pytorch基本使用
    Vue组件
    Scala函数式编程
    Python中的运算符
    Scala流程控制
    Scala环境搭建
    用于测试GRPC服务的UI工具BloomRpc
  • 原文地址:https://www.cnblogs.com/kai-/p/12534444.html
Copyright © 2011-2022 走看看