Flask-cookie的使用

cookie

  • cookie指某些网站为了辨别用户身份、进行会话跟踪而储存在用户本地的数据(通常经过加密)。
  • 可以通过请求对象request的cookies属性来访问 Cookies,用响应对象的 set_cookie()方法来设置 Cookies。请求对象的cookies属性是一个内容为客户端提交的所有 Cookies 的字典。
  • cookie是由服务器端生成,发送给客户端浏览器,浏览器会将Cookie的key/value保存,下次请求同一网站时就发送该Cookie给服务器

设置cookie有效期:

  • max_age:过期时间,单位:秒
  • expires:datetime类型,UTC时间(北京时间基础上减去8小时)
  • max_age优先级高于expires
  • 若没有设置过期时间,则默认过期时间为会话结束,即关闭浏览器

获取cookie:

from flask import request

# 获取cookie
@app.route(r'/get_cookie/<name>')
def getCookie(name):
    cookie = request.cookies.get(name)
    return cookie

设置cookie:

from flask import make_response
from datetime import datetime

@app.route(r'/set_cookie')
def setCookie():
    resp = redirect('/')
    resp.set_cookie("key1","val1") #过期时间为浏览器关闭 
    resp.set_cookie('key2','val2',max_age=3600) #过期时间3600秒
    resp.set_cookie('key3','val3',expires=datetime(2020,12,31,15,59,59)) #过期时间为北京时间2020-12-31 23:59:59
    return resp

删除cookie:

from flask import make_response

@app.route(r'/delete_cookie/<name>')
def delete_cookie(name):
    resp = make_response('delete_cookie success')
    resp.delete_cookie(name)
    return resp

 

posted @ 2020-12-31 00:40  eliwang  阅读(200)  评论(0)    收藏  举报