前言

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. 1130-host ... is not allowed to connect to this MySql server

    解决方法: 1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 ...

  2. Qt开发笔记:OpenSSL库介绍、windows上mingw32版本的OpenSSL编译模块化

    前言   Windows上mingw32版本的openssl的编译是属于比较棘手的,OpenSSL本身不提供支持..   OpenSSL 介绍   OpenSSL是一个开放源代码的软件库包,应用程序可 ...

  3. Jenkins-java项目自动发布

    path="${WORKSPACE}/git" # 创建目录 if [ -d $path ]; then echo "The files is already exist ...

  4. 07.ElementUI 2.X 源码学习:源码剖析之工程化(二)

    0x.00 前言 项目工程化系列文章链接如下,推荐按照顺序阅读文章 . 1️⃣ 源码剖析之工程化(一):项目概览.package.json.npm script 2️⃣ 源码剖析之工程化(二):项目构 ...

  5. MySQL压缩包下载解压安装步骤

    MySQL官网下载地址:https://downloads.mysql.com/archives/community/ 1.选择自己需要的版本,本教程是mysql-5.7.29-winx64版本 2. ...

  6. 深入理解java虚拟机笔记补充-JVM常见参数设置

    JVM 常见参数设置 内存设置 参数 -Xms:初始堆大小,JVM 启动的时候,给定堆空间大小. -Xmx:最大堆大小,如果初始堆空间不足的时候,最大可以扩展到多少. -Xmn:设置年轻代大小.整个堆 ...

  7. SpringCloud Alibaba实战(5:子模块基本业务开发)

    源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一节里,我们搭建了一个微服务项目的整体架构,并进行了版本控制. 接下来我们进一步 ...

  8. yum安装时提示“尚未安装任何 GPG 公钥,请下载您希望安装的软件签名公钥并安装”

    在Linux操作系统中,安装软件依赖包时,出现了尚未安装任何 GPG 公钥,要求使用rpm --import public.gpg.key导入  问题: [root@server7 yum.repos ...

  9. codeforeces 845B

    题解 codefores 845B 原题 Luba has a ticket consisting of 6 digits. In one move she can choose digit in a ...

  10. [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构

    [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 目录 [源码解析] 深度学习分布式训练框架 horovod (6) --- 后台线程架构 0x00 摘要 0x01 ...