Flask-1-05-Cookie&Session

接下来我会演示一下设置Cookie 读取Cookie 删除Cookie,以及添加Cookie的原理

 接下来我们分别定义3个视图为 set_cookie、get_cookie、del_cookie

# coding:utf-8

from flask import Flask, make_response, request

app = Flask(__name__)

@app.route("/set_cookie")
def set_cookie():
    # 创建一个响应的对象
    resp = make_response('设置成功')
    # 设置cookie
    resp.set_cookie('username1', 'hannibal')
    # 设置多个cookie
    resp.set_cookie('username2', 'circle')
    # 默认的有效期是关闭浏览器之前 max_age 是手动添加有效期 单位是妙
    resp.set_cookie('username3', 'benjamin', max_age=3600)
    return resp


@app.route("/get_cookie")
def get_cookie():
    c = request.cookies.get('username1')
    return c


@app.route('/del_cookie')
def del_cookie():
  # 删除Cookie的时候也需要先创建响应对象 resp
= make_response('del cookie') resp.delete_cookie('username3') return resp if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)

通过返回结果我们可以看出:设置了3个Cookie

如果不指定过期时间默认是会话结束时候

同样我们这里还有设置了一个过期时间为1小时(3600)

当我们访问get_cookie时

 

当我们删除Cookie时,通过结果可以看出,并没有在浏览器真正的删除了username3这个Cookie,而是帮我们把过期时间更改为了创建时间。显然这么做也是足够的

通过上面的返回信息,我们可以看出,其实就是通过设置Cookie就是在响应头里给我们添加了一条数据而已

其实我们就可以在响应头里自己添加一个Set-Cookie 这个键 并且按照他的格式给它赋值,原理就是这么个原理

resp.headers["Set-Cookie"] = "username3=benjamin; Expires=Tue, 23-Jul-2019 09:49:51 GMT; Max-Age=3600; Path=/"

猜你喜欢

转载自www.cnblogs.com/Hannibal-2018/p/11232824.html