Flask设置cookie/session
(1) cookie
主体结构
Response.set_cookie( key, value, max_age=None,设置过期时间 单位为秒 expires=None,以秒为单位的寿命 path = '/' )
设置cookie 存活时间为当期浏览结束
#设置cookie 不设置过期时间 route('/set_cookie/') .def setCookie(): res = make_response('设置cookie') res.set_cookie('name','zhangsan') return res
设置cookie并设置过期时间
#设置cookie 并设置过期时间 route('/set_cookie/') .def setCookie(): res = make_response('设置cookie') # res.set_cookie('name','zhangsan',max_age=60) #设置当期cookie存活时间为1分钟 life_time = time.time()+60 res.set_cookie('name','zhangsan',expires=life_time) #设置当期cookie存活时间为1分钟 return res
获取cookie
#查看cookie route('/get_cookie/') .def get_cookie(): myCookie = request.cookies #获取所有cookie print(myCookie) return 'key为name的值为{}'.format(myCookie.get('name'))
删除cookie
#删除cookie route('/del_cookie/') .def del_cookie(): res = make_response('删除cookie') res.delete_cookie('name') #删除key为name的cookie return res
(2) session
服务器要识别来自同一个用户的请求 依赖与cookie 访问者在第一次请求 服务器的时候 服务器会在其cookie中 设置唯一的sessionId值 服务器就可以通过唯一的sessionid来去区分不同用户的请求(访问)
需要使用secret_key 进行加密
导入
from flask import session
设置session 默认存活为当期浏览会话结束
#设置session route('/set_session/') .def set_session(): session['uid'] = '1' return '设置session'
设置sesison存活时间
#设置session 设置过期时间 route('/set_session/') .def set_session(): #开启session持久化存储 session.permanent = True #设置session存活时间为1分钟 如果不给当期的存活时间 则为1个月 app.permanent_session_lifetime = timedelta(seconds=60) session['uid'] = '1' return '设置session'
获取session
#获取session route('/get_session/') .def get_session(): return 'uid的值为{}'.format(session.get('uid'))
删除session
#删除session route('/del_session/') .def del_session(): #删除key为uid的session值 # session.pop('uid') #删除所有session session.clear() return '删除成功'