• 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()
    
    
  • 相关阅读:
    ArchLinux安装
    数据库优化空间换时间优化
    SQL server 系统优化通过执行计划优化索引(2)
    SQL 语句技巧递归查询机构和下属机构的用户数
    SQL语句技巧复杂逻辑的SQL简单实现(2)
    用最少的成本获得最大收益――论DBA在企业可持续发展中的价值
    sql server性能分析定时收集系统运行情况
    SQL server 数据库自动备份
    Sql Server 2005 实现Oracle 10g的rangelist/range等组合分区功能
    关于Oracle学习以及DBA工作机会(转)
  • 原文地址:https://www.cnblogs.com/kai-/p/12534444.html
Copyright © 2020-2023  润新知