状态保持

Cookie

cookie 是指某些网站为了 辨别  用户身份,进行会话跟踪而储存在用户本地的数据(通常会经过加密),复数形式是 coolies.

cookie是由服务器端生成,发送给客户端浏览器,浏览器会见Cookie中的key和value保存,下一次请求同一个浏览器时发给cookie服务端(前提是浏览器设置为启用cookie),cookie中的key和value可以由服务端自己定义。

cookie基本应用在判断注册用户是否登陆网站,网站的广告推送,购物车等。

小提示:

因为cookie是储存在浏览器上的文本信息,有可能会被其他人使用,建议不要储存敏感信息;

cookie基于域名安全,不同域名的cookie是不能互相访问的。

cookie的应用

#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的方法
@app.route('/setcookie')
def set_cookie():
resp = make_response('储存cookie')
#使用方法set_cookie来存储key-value形式的数据,可以添加存活时间
resp.set_cookie('productnamae','[卫生纸','胶布]',max_age=3600)       #在储存cookie时,可以设置过期时间
return resp
#调用cookie的方法
@app.route("/getcookie")
def get_cookie():
#通过request模块的cookies模块的get方法,指定key调用value
resp = request.cookies.get('productnamae')
return resp
#删除模块
@app.route('/delecookie')
def del_cookie():
#通过make_response对象内置的delete_cookie方法,指定key调用value
resp = make_response('删除cookie')
resp.delete_cookie('productnamae')
return resp

#程序入口

if __name__ == "__main__":
app.run()
 
session
对于敏感,重要的信息,建议储存到服务器端,不能储存到浏览器中,如用户名,余额,密码等,在服务端进行状态保持的方案就是Session
sessoin依赖于cookie.
session:请求上下文对象,用于处理HTTP请求中的一些数据
 
应用
#session是依赖于flask的session模块
#如果想使用sessi模块,必须在配置里添加
from flask import Flask,session
#建立对象
app = Flask(__name__)
#从配置文件中加载配置
app.config.from_pyfile('config.ini')
@app.route('/')
def index():
return '我是首页,session'
#存储session的方法
@app.route('/set_session')
def set_session():
#直接使用session对储存的内容复值
session['username'] = '你好'
return '存储session成功'
#调用session方法
@app.route('/get_session')
def get_session():
#通过session直接对内容进行调用
se = session['username']
return se
#删除session方法
@app.route('/del_session')
def del_session():
#通过session的post方法指定key删除value
session.pop('username')
return '删除成功'
if __name__ == "__main__":
app.run()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

python三大框架之一flask中cookie和session的相关操作的更多相关文章

  1. flask中cookie和session介绍

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

  2. flask中cookie和session设置

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

  3. python 三大框架之一Flask入门

    Flask轻量级框架,Flask是python中的轻量级框架. 打开终端 输入pip install Flask 命令 下载以及安装Flask框架 检查是否下载成功及能否使用 首先导入python环境 ...

  4. python三大框架之一flask应用

    创建一个python项目 第一步:打开pytharm 第二步:创建pure python 类型的项目 第三步:创建项目完成之后选择之前创建的py3_flack 作为虚拟环境 第四步:路径可以通过在制定 ...

  5. Python Web框架篇:Django cookie和session

    part 1 概念 在Django里面,cookie和session都记录了客户端的某种状态,用来跟踪用户访问网站的整个回话. 两者最大的区别是cookie的信息是存放在浏览器客户端的,而sessio ...

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

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

  7. Django中Cookie和Session配置和操作

    Cookie Cookie以键值对Key-Value形势进行信息的存储. Cookie基于域名安全,不同域名的Cookie是不能互相访问的 Cookie是存储在浏览器中的一段纯文本信息,建议不要存储敏 ...

  8. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

  9. thinkphp中cookie和session中操作数组的方法

    thinkphp中cookie和session中操作数组的方法 一.ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况 在ThinkPHP的模板中操作sessio ...

随机推荐

  1. 微信小程序初见+nodejs服务端 (一个简单的博客)

    推荐网址: 腾讯云快速开发(nodejs前后端):https://developers.weixin.qq.com/miniprogram/dev/qcloud/qcloud.html#%E5%AF% ...

  2. 小程序-wepy学习

    组件通信与交互 推荐网址:https://tencent.github.io/wepy/document.html#/?id=%e7%bb%84%e4%bb%b6%e9%80%9a%e4%bf%a1% ...

  3. html <iframe>介绍

    iframe 元素会创建包含另外一个文档的内联框架 属性 值 描述 align left.right.top.middle.bottom 不赞成使用.请使用样式代替.规定如何根据周围的元素来对齐此框架 ...

  4. Win10系列:VC++ Direct3D图形绘制1

    通过前面的介绍,相信读者已经了解了如何新建一个用于开发Direct3D应用程序的项目模版,以及这个项目模版中用于绘制立体图形的主要函数.在本小节中,将通过一个具体的示例来介绍如何使用Visual St ...

  5. C++解析五-this 指针,指向类的指针

    C++this指针 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址.this 指针是所有成员函数的隐含参数.因此,在成员函数内部,它可以用来指向调用对象.友元函数没有 this 指 ...

  6. unity3D 中的C#脚本一个类调用另一类中简单方法

    案例展示 SubMenuManage类中的实例化代码如下: static SubMenuManage sub_this; public static SubMenuManage Instance() ...

  7. sqlalchemy(一)常用连接参数及包

    简介: 本文默认你已经有了一定的数据库基础.我们不喜欢写原生SQL语句,那个写着费劲,日常开发时候,我们怎么CRUD数据库呢?一般使用ORM,对象关系映射(英语:Object Relational M ...

  8. .net core 在扩展中使用接口实例之IServiceProvider

    在.net core 2.0中,我们使用的对象实例大多数都是通过构造函数依赖注入进来的,但那是在一般的类中使用. 如果需要在静态/扩展类中使用某些服务类的对象实例,可以使用如下方式: 1.新建一个Se ...

  9. 【转】MySQL实现Oracle里的 rank()over(ORDER BY) 功能

    Oracle rank()和dense_rank()的区别是: –rank()是跳跃排序,有两个第二名时接下来就是第四名 –dense_rank()l是连续排序,有两个第二名时仍然跟着第三名 sele ...

  10. 二:通过VirtualBox+Vagrant创建一个centos的虚拟机:

    官网安装VirtualBox及Vagrant. 下载centos7,添加到vagrant中. http://e-proxy.yfb.sunline.cn/download/vagrant/centos ...