session
flask内置session
#设置:session['username'] = 'xxx' #删除:session.pop('username', None)
flask-session
#安装:pip3 install flask-session
使用
#两种方式 #方式一 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.session_interface=RedisSessionInterface(conn,key_prefix='pdun') #use_signer是否对key签名 #key_prefix是前缀,加密后开头的前缀 @app.route('/') def hello_world(): session['name']='pdun' return 'Hello World!' if __name__ == '__main__': app.run() #方式二 from redis import Redis from flask.ext.session import Session from flask import Flask,session from flask_session import RedisSessionInterface import redis app = Flask(__name__) #app.config['SESSION_TYPE'] = 'redis' #app.config['SESSION_REDIS'] = Redis(host='192.168.0.94',port='6379') #Session(app) @app.route('/') def hello_world(): session['name']='pdun' return 'Hello World!' if __name__ == '__main__': app.run()
#问题:设置cookie时,如何设定关闭浏览器则cookie失效 在cookie中设置 response.set_cookie('k','v',exipre=None)#这样设置即可 #在session中设置 app.session_interface=RedisSessionInterface(conn,key_prefix='pdun',permanent=False) #RedisSessionInterface的参数permanent,默认是True,改为False就行 #但是、一般不用,我们一般都设置超时时间,多长时间后失效
#问题:cookie默认超时时间是多少?如何设置超时时间 #源码expires = self.get_expiration_time(app, session) 'PERMANENT_SESSION_LIFETIME': timedelta(days=31),#这个配置文件控制