flask-session
作用: 将默认保存的签名 cookie 中的值 保存到 Redis/Memcached/file/MongoDB/SQLAlchemy
安装: pip3 install flask-session
使用 1:
- 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)
- #use_signer 是否对 key 签名
- App.session_interface=RedisSessionInterface(conn,key_prefix='lqz')
- @App.route('/')
- def hello_world():
- session['name']='lqz'
- return 'Hello World!'
- if __name__ == '__main__':
- App.run()
使用 2:
- from Redis import Redis
- from flask.ext.session import Session
- App.config['SESSION_TYPE'] = 'redis'
- App.config['SESSION_REDIS'] = Redis(host='192.168.0.94',port='6379')
- Session(App)
问题: 设置 cookie 时, 如何设定关闭浏览器则 cookie 失效.
- response.set_cookie('k','v',exipre=None)# 这样设置即可
- # 在 session 中设置
- App.session_interface=RedisSessionInterface(conn,key_prefix='lqz',permanent=False)
- # 一般不用, 我们一般都设置超时时间, 多长时间后失效
问题: cookie 默认超时时间是多少? 如何设置超时时间
- # 源码 expires = self.get_expiration_time(App, session)
- 'PERMANENT_SESSION_LIFETIME': timedelta(days=31),# 这个配置文件控制
来源: http://www.bubuko.com/infodetail-3365714.html