Flask_设置cookie/session

Flask设置cookie/session

(1) cookie

主体结构


Response.set_cookie(
    key,
    value,
    max_age=None,设置过期时间 单位为秒
    expires=None,以秒为单位的寿命
    path = '/'
)

设置cookie 存活时间为当期浏览结束


#设置cookie 不设置过期时间
@app.route('/set_cookie/')
def setCookie():
    res = make_response('设置cookie')
    res.set_cookie('name','zhangsan')
    return res

设置cookie并设置过期时间


#设置cookie 并设置过期时间
@app.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
@app.route('/get_cookie/')
def get_cookie():
    myCookie = request.cookies #获取所有cookie
    print(myCookie)
    return 'key为name的值为{}'.format(myCookie.get('name'))

删除cookie


#删除cookie
@app.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
@app.route('/set_session/')
def set_session():
    session['uid'] = '1'
    return '设置session'

设置sesison存活时间


#设置session 设置过期时间
@app.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
@app.route('/get_session/')
def get_session():
    return 'uid的值为{}'.format(session.get('uid'))

删除session


#删除session
@app.route('/del_session/')
def del_session():
    #删除key为uid的session值
    # session.pop('uid')
    #删除所有session
    session.clear()
    return '删除成功'

猜你喜欢

转载自blog.csdn.net/g_sangsk/article/details/80754177
今日推荐