Flask(11)- 操作 Cookie

简介: Flask(11)- 操作 Cookie

前言


Cookie 详解:https://www.cnblogs.com/poloyy/p/12513247.html

这一节来瞧一瞧如何用 Flask 操作 Cookie

 

接下来就是 实战栗子!!!

 


提供操作 Cookie 的 3 项功能

页面路径 功能
/set_cookie 设置一个名称为 poloyy、值为 https://www.cnblogs.com/poloyy 的 Cookie
/get_cooike 在服务端获取名称为 ‘poloyy’ 的 Cookie,并将其值返回给客户
/del_cooike 删除名称为 ‘poloyy’ 的 Cookie

 

项目构成


程序有 3 个源文件构成

源文件 描述
app.py Flask 后端程序,提供操作 Cookie 的接口
templates/get_cookie.html 在服务端获取 Cookie,显示 Cookie 的值
templates/js_cookie.html 在客户端通过 Javascript 显示 Cookie 的值

 

模板文件 get_cookie.html


浏览器访问网站时,每次都会把 Cookie 发送给服务端,在服务端获取 Cookie 并返回给浏览器

<html>
<meta charset='UTF-8'>
<title>在服务端获取 cookie</title>
<body>
<h2>在服务端获取 cookie: <b>{{cookie}}<b/></h2>
</body>
</html>


模板文件 js_cookie.html


<html>
<meta charset='UTF-8'>
<title>在服务端设置 cookie</title>
<body>
<h2>在服务端设置 cookie</h2>
<h2>在客户端通过 Javascript 读取 cookie: <b id='cookie'><b/></h2>
</body>
<script> 
cookie = document.getElementById('cookie'); 
cookie.innerHTML = document.cookie;
</script> 
</html>


document.cookie 是浏览器端保存的 cookie 值,在 id=cookie 中显示 Cookie 值

 

Flask app.py 代码


引入模块

#!/usr/bin/python3
from flask import Flask, request, Response, render_template
app = Flask(__name__)


request 对象详解:https://www.cnblogs.com/poloyy/p/14995215.html

request.cookies 就是获取客户端发送的 Cookie

 

获取 Cookie

@app.route("/get_cookies")
def get_cookies():
    cookie  = request.cookies.get('poloyy')
    return render_template('get_cookie.html', cookie = cookie)


设置 Cookie

@app.route("/set_cookie")
def set_cookie():
    html = render_template("js_cookie.html")
    response = Response(html)
    response.set_cookie("poloyy", "https://www.cnblogs.com/poloyy")
    return response


删除 Cookie

@app.route("/del_cookie")
def del_cookie():
    html = render_template("js_cookie.html")
    response = Response(html)
    response.delete_cookie("poloyy")
    return response
if __name__ == '__main__':
    app.run(debug=True)


浏览器的运行效果


设置 cookie

image.png

总结


image.png


相关文章
|
5月前
|
监控 Serverless API
函数计算操作报错合集之在函数计算用gunicorn启动flask,会报错找不到这个包,该怎么办
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
5月前
|
前端开发 Python
Flask之ajax操作示例
Flask之ajax操作示例
34 2
|
6月前
|
存储 Web App开发 安全
Django中Cookie相关操作
Django中Cookie相关操作
|
存储 JavaScript
js -cookie的操作
cookie是存储在客户端浏览器中的一段文本信息。
|
6月前
|
存储 JavaScript 前端开发
JavaScript DOM 操作:解释一下 cookie、sessionStorage 和 localStorage 的区别。
Cookie是服务器发送至客户端的文本信息,会随每个请求发送回服务器,适合控制会话状态但可能暴露隐私。SessionStorage仅在当前会话中存储数据,关闭浏览器后清除,适合临时存储如登录状态。LocalStorage则持久保存数据,即使关闭浏览器也不会清除,适用于存储长期设置。三种方式各有侧重,应按需求选择。
47 0
|
数据库 Python
【Flask】Flask-SQLAlchemy的增删改查(CRUD)操作
Flask-SQLAlchemy的增删改查(CRUD)操作
|
6月前
|
存储 前端开发 Java
【源码共读】在前端如何操作 Cookie
【源码共读】在前端如何操作 Cookie
115 1
|
存储 JavaScript 前端开发
cookie相关操作
cookie相关操作
55 0
|
数据采集 存储 数据安全/隐私保护
详解Flask中session与cookie的用法
详解Flask中session与cookie的用法
|
JavaScript 前端开发 Java
【JavaEE】使Cookie与Session失效-Servlet上传文件操作-优化表白墙
虽然Cookie和Session都是暂时存在的,不久就会被删掉,但是我们要退出登录的时候,就不能等待其自然消除了~
74 0