- Flask 教程
- Flask - 首页
- Flask - 概述
- Flask - 环境
- Flask - 应用程序
- Flask - 路由
- Flask - 变量规则
- Flask - URL 构建
- Flask - HTTP 方法
- Flask - 模板
- Flask - 静态文件
- Flask - 请求对象
- 将表单数据发送到模板
- Flask - Cookie
- Flask - 会话
- Flask - 重定向和错误
- Flask - 消息闪现
- Flask - 文件上传
- Flask - 扩展
- Flask - 邮件
- Flask - WTF
- Flask - SQLite
- Flask - SQLAlchemy
- Flask - Sijax
- Flask - 部署
- Flask - FastCGI
- Flask 有用资源
- Flask - 快速指南
- Flask - 有用资源
- Flask - 讨论
Flask – Cookie
Cookie 以文本文件的形式存储在客户端的计算机上。其目的是记住和跟踪与客户端使用相关的数据,以提供更好的访客体验和网站统计信息。
请求对象包含 Cookie 的属性。它是客户端发送的所有 Cookie 变量及其对应值的字典对象。除此之外,Cookie 还存储其过期时间、路径和网站的域名。
在 Flask 中,Cookie 设置在响应对象上。使用make_response()函数从视图函数的返回值获取响应对象。之后,使用响应对象的set_cookie()函数存储 Cookie。
读取 Cookie 很容易。request.cookies属性的get()方法用于读取 Cookie。
在下面的 Flask 应用程序中,当您访问‘/’ URL 时,会打开一个简单的表单。
@app.route('/') def index(): return render_template('index.html')
此 HTML 页面包含一个文本输入。
<html> <body> <form action = "/setcookie" method = "POST"> <p><h3>Enter userID</h3></p> <p><input type = 'text' name = 'nm'/></p> <p><input type = 'submit' value = 'Login'/></p> </form> </body> </html>
表单发布到‘/setcookie’ URL。关联的视图函数设置一个名为userID的 Cookie 并呈现另一个页面。
@app.route('/setcookie', methods = ['POST', 'GET']) def setcookie(): if request.method == 'POST': user = request.form['nm'] resp = make_response(render_template('readcookie.html')) resp.set_cookie('userID', user) return resp
‘readcookie.html’包含到另一个视图函数getcookie()的超链接,该函数读取并显示浏览器中的 Cookie 值。
@app.route('/getcookie') def getcookie(): name = request.cookies.get('userID') return '<h1>welcome '+name+'</h1>'
运行应用程序并访问https://127.0.0.1:5000/
设置 Cookie 的结果如下所示:
读取 Cookie 的输出如下所示。
广告