状态保持

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. Qt_qwt图形开发

    QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类 ...

  2. 漫谈moosefs中cgi各项的意义

    原创:http://www.cnblogs.com/bugutian/p/6869278.html 转载请注明出处 一.先上一张图 二.解释 1. Metadata Servers (masters) ...

  3. 在springboot中验证表单信息(六)

    构建工程 创建一个springboot工程,由于用到了 web .thymeleaf.validator.el,引入相应的起步依赖和依赖,代码清单如下: 1 2 3 4 5 6 7 8 9 10 11 ...

  4. dir()函数

  5. 0.5px的宽度的边框

    方法1:  .border {    position: relative;} .border:before {    content: "";/* 注意这里为双引号 */     ...

  6. printf以%d形式输出浮点数的问题

    若运行时从键盘上输入9876543210l,则下面程序的输出结果是 int main(){ int a;float b,c; scanf("%2d%3f%4f",&a,&a ...

  7. day25 模块04_模块和包

    休养生息--模块04 1.导入模块的执行的步骤 2.自定义模块 3.自定义包 一.导入模块的执行步骤 1).判断当前正在导入的模块是否已经导入过 2).如果已经导入过,不会重新导入该模块 3).如果没 ...

  8. ubuntu 命令行卸载并清理软件

    1.删除软件 方法一.如果你知道要删除软件的具体名称,可以使用 sudo apt-get remove --purge 软件名称 sudo apt-get autoremove --purge 软件名 ...

  9. Thêm Một Lần Đau--错错错--IPA--越南语

    越南国际天团HKT的名曲.

  10. SQL-32 将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分

    题目描述 将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分CREATE TABLE `employees` ( `emp_no` in ...