前言

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

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

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

功能 list

提供操作 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

获取 cookie

删除 cookie

总结

Flask(11)- 操作 Cookie的更多相关文章

  1. [py]flask操作cookie&django的seesion和cookie机制

    浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...

  2. JavaScript 操作 Cookie

    转自作者:聂微东出处:http://www.cnblogs.com/Darren_code/      什么是 Cookie “cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器 ...

  3. Asp.net操作cookie大全

    实例代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3 ...

  4. Cookie介绍及JavaScript操作Cookie方法详解

    本文主要为大家简单介绍了以下Cookie的用途.运行机制,以及JavaScript操作Cookie的各种方法,总结的比较全面,希望能给大家带来帮助. 什么是 Cookie “cookie 是存储于访问 ...

  5. 笔记-flask基础操作

    笔记-flask基础操作 1.      前言 本文为flask基础学习及操作笔记,主要内容为flask基础操作及相关代码. 2.      开发环境配置 2.1.    编译环境准备 安装相关Lib ...

  6. 在pycharm中批量插入表数据、分页原理、cookie和session介绍、django操作cookie

    昨日内容回顾 ajax发送json格式数据 ''' 1. urlencoded 2. form-data 3. json ''' 1. ajax $.ajax({ data: JSON.stringi ...

  7. js简单操作Cookie

    贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...

  8. Jquery操作cookie,实现简单的记住用户名的操作

     一.jquery.cookie.js介绍  jquery.cookie.js是一个基于jquery的插件,一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cook ...

  9. jquery.cookie.js 操作cookie实现记住密码功能的实现代码

    jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下.   复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...

随机推荐

  1. 微服务系列(二)GRPC的介绍与安装

    微服务系列(二)GRPC的介绍与安装 1.GPRC简介 GRPC是Google公司基于Protobuf开发的跨语言的开源RPC框架.GRPC基于HTTP/2协议设计,可以基于一个HTTP/2链接提供多 ...

  2. IDEA 通过ctrl+滚轮缩放字体大小

    能用图解决的问题,尽量简单粗暴通俗易懂 1.第一种方式 2.第二种方式

  3. 达梦数据库产品支持技术学习分享_Week1

    本周主要从以下几个方面进行本人对达梦数据库学习的分享,学习进度和学习情况因人而异,仅供参考. 一.达梦数据库的体系架构 二.达梦数据库的安装 三.达梦数据库的数据类型 四.达梦数据库的DDL.DML. ...

  4. wangEditor 轻量级富文本框编辑器使用方法

    首先第一步先去wangEditor官网下载所需要的脚本文件! http://www.wangeditor.com/ 接下来先在你的项目的HTML标签里加上这样一段标签: 1 <body> ...

  5. GPU上稀疏矩阵的基本线性代数

    GPU上稀疏矩阵的基本线性代数 cuSPARSE库为稀疏矩阵提供了GPU加速的基本线性代数子例程,这些子例程的执行速度明显快于仅CPU替代方法.提供了可用于构建GPU加速求解器的功能.cuSPARSE ...

  6. GPU—加速数据科学工作流程

    GPU-加速数据科学工作流程 GPU-ACCELERATE YOUR DATA SCIENCE WORKFLOWS 传统上,数据科学工作流程是缓慢而繁琐的,依赖于cpu来加载.过滤和操作数据,训练和部 ...

  7. VB 老旧版本维护系列---读取xml某个节点的值

    读取xml某个节点的值 '定义xml字符串内容地址 Dim xmlFileStr As String = "" '定义所需读取节点的名称 Dim readNodeName As S ...

  8. JUC 并发编程--12, 使用AtomicInteger 实现一把锁(排队自旋锁), 代码演示

    前面 使用自旋锁实现了一把锁,(请看 第5篇) volatile 三大特性: 可见性, 不保证原子性, 禁止指令重排 为了解决 volatile不保证原子性的问题, 引入了原子类, AtomicInt ...

  9. mybatis中sql语句必须用${}而不能不用#{}的情况

    在mybatis中如果我们使用#{}的方式编写的sql时,#{} 对应的变量自动加上单引号 ' ' 例如: select * from #{param} 当我们给参数传入值为user时,他的sql是这 ...

  10. 免费版对象存储【minIO】CentOS部署实践记录 2021

    好久没写,记录一下 1.背景 之前一直用的七牛,不过是收费的,然后有些定制化需求,可能比较看重预算,然后就有了这篇开源方式:minio 2.简介 官方文档:http://docs.minio.org. ...