Flask Cookies
Cookie 以文本文件的形式存储在客户端的计算机上,用于记住和跟踪与客户使用相关的数据,以获得更好的访问者体验和网站统计信息。
Request 对象包含 Cookie 的属性。它是所有 cookie 变量及其对应值的字典对象,客户端已传输。除此之外,cookie 还存储其网站的到期时间,路径和域名。
在Flask中,对cookie的处理步骤为:
1. 设置cookie:
设置cookie,默认有效期是临时cookie,浏览器关闭就失效
可以通过 max_age 设置有效期, 单位是秒
resp = make_response("success") # 设置响应体 resp.set_cookie("codebaoku", "codebaoku", max_age=3600)
2.获取cookie
获取cookie,通过request.cookies的方式, 返回的是一个字典,可以获取字典里的相应的值
cookie_1 = request.cookies.get("codebaoku")
3.删除cookie
这里的删除只是让cookie过期,并不是直接删除cookie
删除cookie,通过delete_cookie()的方式, 里面是cookie的名字
resp = make_response("del success") # 设置响应体 resp.delete_cookie("codebaoku")
以下为Flask Cookies的简单示例:
from flask import Flask, make_response, request # 注意需导入 make_response app = Flask(__name__) @app.route("/set_cookies") def set_cookie(): resp = make_response("success") resp.set_cookie("codebaoku", "codebaoku",max_age=3600) return resp @app.route("/get_cookies") def get_cookie(): cookie_1 = request.cookies.get("codebaoku") # 获取名字为Itcast_1对应cookie的值 return cookie_1 @app.route("/delete_cookies") def delete_cookie(): resp = make_response("del success") resp.delete_cookie("codebaoku")
return resp if __name__ == '__main__': app.run(debug=True)
1) 设置 cookies
运行应用程序,在浏览器中输入 127.0.0.1:5000/set_cookies 来设置cookies,设置 cookies 的输出如下所示:
2) 获取 cookie
根据视图函数中相对应的路径,输入 http://127.0.0.1:5000/get_cookies ,读回 cookies 的输出如下所示:
3) 删除 cookie
根据视图函数中相对应的路径,输入 http://127.0.0.1:5000/delete_cookies ,删除 cookies 的输出如下所示:
注意删除,只是让 cookie 过期。
Session 与 Cookie不同, Session 数据存储在服务器上的临时目录中。 Flask 为每个客户端的会话分配会话ID 。 会话数据存储在 cookie 的顶部,服务器以加密方式对其进行签名。对于此加密,Flask应用程序需要一个定义的 SECRET_KEY 。