response对象的 set_cookie 方法来设置 Cookies。 request对象的 cookies 属性是客户端提交过来的所有cookie键值对,字典类型。

设置cookie

cookie 是以键值对的形式保存在浏览器中。

设置cookie我们比较关心的三个参数:

key cookie的键

value cookie的值

max_age=None 超时时间,单位是秒

expires=None 超时时间,datatime对象

@app.route('/set_cookie')
def set_cookie():
    """设置cookie"""
    resp = make_response('设置cookie')
    # 向浏览其中写入一个key为a,值为python,超时时间在2018,1,31日
    #resp.set_cookie('a', 'python', expires=datetime.datetime(2018, 1, 31))
    # 向浏览其中写入一个key为a,值为python,超时时间是60*60秒之后
    resp.set_cookie('a', 'python', max_age=60*60)
    return resp

访问视图在浏览器开发者工具中可以看到写入的cookie:

获取cookie

request 对象中的cookie属性是包含了所有浏览器上传到服务器的cookie。 get 方法获取其中的键值,可以传一个默认值。

@app.route('/get_cookie')
def get_cookie():
    """获取cookie"""
    # 通过键获取cookie值,如果没有这个键返回None
    a = request.cookies.get('a')
    print(a)
    # 可以传一个默认值,如果不存在这个键,将使用默认值。
    b = request.cookies.get('b', 'not found')
    print(b)
    return '获取到的cookie是: a: %s   b:%s' % (a, b)

删除cookie

@app.route('/del_cookie')
def del_cookie():
    """删除cookie"""
    response = make_response('删除cookie')
    # 将key为a的cookie 删除
    response.delete_cookie('a')
    return response
Iyoyo电子书 一本集作者多年开发经验的python电子书 all right reserved,powered by Gitbook文件修订时间: 2022年 10:58:11