Flask cookie
一 什么是cookie
什么是cookie?如果单单从数据结构的角度来说,它可以被理解成用来保存数据的一个dictionary,由一组组键值对组成.如果从作用上来说,我们知道Http协议是一种无状态的协议.什么叫无状态呢,就是本次的客户端请求不会保留上一次客户端请求的状态,简单点说就是这样会要求我们每次在浏览器中点开一个网站的链接都会输一次账户和密码.cookie就是用来解决这个问题的.
为了解决上述问题,我们第一次登录web服务器,服务端就会在它的响应中的Set-Cookie字段中发送一些键值对,这就包括一个Session ID以及其他一些信息(也包括我们自定义的cookie中的键值对),并告诉客户端在本地缓存这个cookie.然后客户端以后进行链接时每次都会发送这个Session ID,服务器一看是哪个Session ID就知道是哪个客户端发起的链接了,就不会要求我们再次输账户和密码验证了.
我们在flask中自定义cookie,实际上就是在响应Response的Set-Cookie字段中增加我们自定义的键值对.而获取cookie,就是通过请求Request中通过键获取其对应的值.
二 设置cookie
通过响应对象的set_cookie方法我们可以设置自定义cookie:
@app.route('/set_cookie')
def set_cookie():
response=make_response('Hello World');
response.set_cookie('Name','Hyman')
return response
我们还可以指定cookie的有效时长,下面的代码把有效时长设置成了30天.通常情况下,我们还可以在浏览器上设置cookie的有效时长,而且浏览器上配置的有效时长优先级要高于我们在代码中设置的.
outdate=datetime.datetime.today() + datetime.timedelta(days=30)
response.set_cookie('Name','Hyman',expires=outdate)
三 获取cookie
我们可以使用Request对象cookies字段的get方法来获取我们所需要的cookie,下面的代码我们直接获取cookie并返回给视图函数:
@app.route('/get_cookie')
def get_cookie():
name=request.cookies.get('Name')
return name
Flask cookie的更多相关文章
- 9.Flask Cookie和Session
1.1.概念 cookie:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了解决这个问题,第 ...
- 【Flask】Flask Cookie操作
### 什么是cookie:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了解决这个问题,第 ...
- Flask Cookie和Session
1.1.概念 cookie:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了解决这个问题,第 ...
- 六十:Flask.Cookie之flask设置cookie的有效域名
设置cookie有效域名cookie默认只能在主域名下使用,如果要在子域名下使用,则应该给set_cookie设置属性domain='.主域名',此时,此cookie在此主域名下的所有子域名均有效 f ...
- 五十八:Flask.Cookie之flask设置和删除cookie
1.设置cookie:在flask.Response对象上,使用set_cookie('cookie名', 'cookie值')设置cookie set_cookie源码 key:cookie名val ...
- 五十九:Flask.Cookie之flask设置cookie过期时间
设置cookie有效期1.max_age:距离现在多少秒后过期,在IE8以下不支持2.expires:datatime类型,使用此参数,需参照格林尼治时间,即北京时间-8个小时3.如果max_age和 ...
- flask-admin章节四:flask session的使用
1. 关于session flask session可能很多人根本都没有使用过,倒是cookie大家可能使用得比较多.flask cookie使用起来比较简单,就两个函数,读取和设置. 具体使用方式如 ...
- Flask 源代码阅读笔记
我认为我已经养成了一个坏习惯.在使用一个框架过程中对它的内部原理非常感兴趣,有时候须要花不少精力才 明确,这也导致了学习的缓慢,但换来的是对框架的内部机理的熟悉,正如侯捷所说,源代码面前,了无秘密.这 ...
- flask学习导航主页
我就学习了网易课堂的知了Flaskk. 十分感谢. └—01-Flask视图和URL ├—课时001.[Flask预热]课程介绍 ├—课时002.[Flask预热]Flask课程准备工作 ├—课时00 ...
随机推荐
- reg 和wire 区别
reg相当于存储单元,wire相当于物理连线 Verilog 中变量的物理数据分为线型和寄存器型.这两种类型的变量在定义时要设置位宽,缺省为1位.变量的每一位可以是0,1,X,Z.其中x代表一个未被预 ...
- js自执行事件
let a = document.createElement("a");let event = new MouseEvent("click");a.downlo ...
- cookies相关概念
1.什么是Cookie Cookie实际上是一小段的文本信息.客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie.客户端浏览器会把Cookie保存 ...
- 最大化系统并发连接数.Windows.reg
最大化系统并发连接数.Windows.reg Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro ...
- Java实现把图片转成字符画
1,先看效果图:
- appium+夜神模拟器+python安卓app爬虫初体验
环境搭建:Windows 7 64bit jdk包:jdk-8u171-windows-x64.exe(http://www.oracle.com/technetwork/java/javase/do ...
- springboot+dubbo+mybatis多模块项目invalid boundexception
invalid boundexception的原因大抵是因为mybatis扫描不到mapper映射文件(xml),无法将mapper接口类(java)中的接口与mapper映射器绑定起来.这可能是因为 ...
- XACT_ABORT选项
XACT_ABORT选项用于指定当SQL语句出现运行时错误时,SQL Server是否自动回滚到当前事务.其语法格式如下所示: SET XACT_ABORT{ON|OFF} 当SET XACT_ABO ...
- I/O系统(二)
程序查询流程1测试指令,查询IO设备是否就绪.2传送指令,当已经就绪时,执行传送功能.3转移指令,未就绪时,转移至继续测试IO设备的状态.当需要启动某一IO设备时,必须将该程序插入到现行程序中.1,由 ...
- mysql explain执行详解
1).id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询.2).select_type列常见的有:A:simple:表示不 ...