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),#这个配置文件控制

 

posted @ 2019-07-22 16:35  pdun  阅读(211)  评论(0编辑  收藏  举报