在Flask的框架中,自己已经封装了 cookie的respons,request 有存储就有读取及删除,那么就拿购物车来举例

  在我们登陆的时候会有之前在购物车存放的物品。也就是说在一个地方为我们保存了这些数据。前提有一个是要你登陆之后才能看到自己的购物车

  cookie对应的是client session对应的是server。  也就是说,要在服务器上登录你对应的账户,才能看到你自己在购物车添加的物品。但是

  物品那么多,不能都存在服务器上吧,所以一般cookie都存在自己的计算机上,只是找不到而已,这里就不说了。一些简单的原理实现一下。

  思路有了,就要上代码

首先来看cookie的简单存储,读数据,删除数据怎么实现 

# -*- encoding: utf-8 -*-
# cookie相关的操作,依赖于make_response库,调用cookie依赖request
# 导包
from flask import Flask, make_response, request
# 建立对象
app = Flask(__name__)
# 从配置文件中加载配置
app.config.from_pyfile('config.ini')
@app.route('/')
def index():
return '这里是首页'
# cookie存在client里。存在自己电脑的个人当资料里
# 存cookie的方法
@app.route('/setcookie')
def set_cookie():
resp = make_response('存储cookie')
# 使用set方法,来存储 key-values 形式的数据
resp.set_cookie('productname','卫生纸')
return resp
# 获取,取到数据,调用cookie的方法
@app.route('/getcookie')
def get_cookie():
# 通过request模块的cookies属性的方法指定Key 来调用value
resp = request.cookies.get('productname')
return resp
# 删除cookie的方法
@app.route('/delcookie')
def del_cookie():
# 通过make_response对象内置的delete_cookie方法来指定key来删除vaule
resp = make_response('删除cookie')
resp.delete_cookie('productname')
return resp
# 程序入口
if __name__ == "__main__":
app.run()
 
 
 
那么再来看session的简单实现,相比较而言,session的会简单些。
# -*- encoding: utf-8 -*-
# session 是依赖于flask的session模块
# 如果想要使用session模块。必须在配置文件中定义 secret——key (安全密钥)
# 导包
from flask import Flask, session
# 实例化对象
app = Flask(__name__)
# 配置文件
app.config.from_pyfile('config.ini')
# 创建首页
@app.route('/')
def index():
return '这是服务端'
# 存储session的方法
@app.route('/setsession')
def set_session():
# 直接使用session对存储的内容赋值
session['username'] = '你好啊, 这是我的私有属性。只有在服务端才能调用。客户端是调用不了这个session的key-value'
return '存储session成功'
# 有存储就有取
@app.route('/getsession')
def get_session():
# 通过session直接对内容进行调用
se = session['username']
return se
# 删除session的方法。
@app.route('/delsession')
def del_session():
# 通过session的pop方法来指定key删除vaule
session.pop('username')
return '删除成功'
# 程序入口
if __name__ == "__main__":
app.run()
 
 
 
    为了更好的业务,敲最好的代码。(我的也不怎么样[/捂脸])欢迎阅读
 

flask的cookie和session的简单原理的更多相关文章

  1. flask中cookie和session介绍

    flask中cookie和session介绍 一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.co ...

  2. flask中cookie和session设置

    flask中cookie和session介绍   一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户. ...

  3. Flask中cookie和session设置与csrf原理攻防

    Flask之操作cookie app.py from flask import Flask, request, Response app = Flask(__name__) @app.route('/ ...

  4. Flask:cookie 和 session (0.1)

    Windows 10家庭中文版,Python 3.6.4,Flask 1.0.2 Cookie是什么?有什么用? 某些网站为了辨别用户身份.进行 session 跟踪而储存在用户本地终端上的数据(通常 ...

  5. Cookie和Session的工作原理及比较

    一.Cookie详解 (1)简介 因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现.在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两饮料 ...

  6. python三大框架之一flask中cookie和session的相关操作

    状态保持 Cookie cookie 是指某些网站为了 辨别  用户身份,进行会话跟踪而储存在用户本地的数据(通常会经过加密),复数形式是 coolies. cookie是由服务器端生成,发送给客户端 ...

  7. flask框架--cookie,session

    今天我又给大家分享一下怎么用flask框架来实现像淘宝购物车一样存储数据,并且把存储的数据删除,这个方法可以用两个方法都可以做成,一个是cookie,另一个是session. session是依赖于c ...

  8. 【Python】Flask系列-cookie和session笔记

    cookie: 1.cookie出现的原因:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了 ...

  9. Flask (二) cookie 与 session 模型

    会话技术 Cookie 客户端端的会话技术 cookie本身由浏览器保存,通过Response将cookie写到浏览器上,下一次访问,浏览器会根据不同的规则携带cookie过来 ​ 特点:   - 客 ...

随机推荐

  1. fun() 的 拆分和 for 遍历 的结合---------> 函数容器

    fun() 的 拆分和 for 遍历 的结合--------->  函数容器

  2. if a in range(len(lst)): print(a,lst[a]) #获取索引和对应元素, 背下来~~

    经典的"获取元素的索引和元素", 背下来! if a in range(len(lst)): print(a, lst[a])

  3. Django ImportError 模块路径正确,且将文件夹设置为Source Root

    问题描述: 在用PyCharm进行Django项目开发时,由于业务需求需要增加一个外键字段,但在引入外键关联的model时,报错ImportError 解决方案: 无奈中,尝试更改导入模块语句的位置, ...

  4. Linux--安全加固01

    Redhat是目前企业中用的最多的一类Linux,而目前针对Redhat攻击的黑客也越来越多了.我们要如何为这类服务器做好安全加固工作呢? 一. 账户安全 1.1 锁定系统中多余的自建帐号 检查方法: ...

  5. Spring 源代码阅读之声明式事务

    事务控制流程 例如对如下代码进行事务控制 class service1{ method1(){ method2(); } } class service2{ method2(); } 原理:建立一个m ...

  6. 如何确定PHP CLI 的php.ini文件的位置

    当我们安装扩展时,可能需要手动配置php.ini文件,把扩展加进去,所以要确认PHP CLI的php.ini文件的位置.可以运行php --ini查找PHP CLI的ini文件位置,结果类似如下(各个 ...

  7. ubuntu配置默认python版本并安装pip

    ubuntu 16.04本身是自带python的,他本身是自带2.X和3.X,两个版本,默认的是2.X.这里记录一下如果在版本间切换以及如何把python版本切换到3.X下的方法. 1.查看Ubunt ...

  8. orge资源

    1.  OGRE官网 http://www.ogre3d.org (重要) 2.  OGRE WIKI  http://www.ogre3d.org/wiki/index.php/Main_Page( ...

  9. Hive学习之路 (十一)Hive的5个面试题

    一.求单月访问次数和总访问次数 1.数据说明 数据字段说明 用户名,月份,访问次数 数据格式 A,, A,, B,, A,, B,, A,, A,, A,, B,, B,, A,, A,, B,, B ...

  10. 20155314 2016-2017-2 《Java程序设计》实验四 Android程序设计

    20155314 2016-2017-2 <Java程序设计>实验四 Android程序设计 实验任务 基于Android Studio开发简单的Android应用并部署测试 了解Andr ...