当前位置:网站首页>【flask入门系列】Cookie与Session
【flask入门系列】Cookie与Session
2022-07-01 16:21:00 【馆主阿牛】
个人简介
- 作者简介:大家好,我是阿牛,全栈领域新星创作者。
- 博主的个人网站:阿牛的博客小屋
- 支持我:点赞+收藏️+留言
- 系列专栏:flask框架快速入门
- 格言:要成为光,因为有怕黑的人!

前言
今天我总结一下flask中的cookie与session,flask中的session和正常的session是不一样的,为浏览器session,保存在浏览器。
cookie
1.设置cookie
#导入Flask类和request对象
from flask import Flask,make_response
app = Flask(__name__)
# 从配置对象中加载的默认配置
class DefaultConfig(object):
SECRET_KEY = 'jstwn63bng'
DEBUG = True
ENV = 'development'
app.config.from_object(DefaultConfig)
@app.route('/cookie')
def cookie():
resp = make_response("设置cookie")
resp.set_cookie("aniu","handsome")
return resp
# Flask应用程序的run方法启动web服务器
if __name__ == '__main__':
app.run(port=8000)

2.设置cookie有效期
@app.route('/cookie')
def cookie():
resp = make_response("设置cookie")
resp.set_cookie("aniu","handsome",max_age=4000) #max_age为最大过期时间的毫秒数
return resp
3.获取cookie
#导入Flask类和request对象
from flask import Flask,make_response,request
app = Flask(__name__)
# 从配置对象中加载的默认配置
class DefaultConfig(object):
SECRET_KEY = 'jstwn63bng'
DEBUG = True
ENV = 'development'
app.config.from_object(DefaultConfig)
#设置cookie
@app.route('/set_cookie')
def set_cookie():
resp = make_response("设置cookie")
resp.set_cookie("aniu","handsome")
return resp
#获取cookie
@app.route('/get_cookie')
def get_cookie():
resp = request.cookies.get('aniu')
return resp
# Flask应用程序的run方法启动web服务器
if __name__ == '__main__':
app.run(port=5000)

4.删除cookie
@app.route('/delete_cookie')
def delete_cookie():
resp = make_response("设置cookie")
resp.delete_cookie("aniu","handsome")
return resp
session
注意:需要先设置SECRET_KEY,为什么呢?我们在前言中说过,flask中的session是浏览器session,保存在浏览器,因此需要一个密钥。
#导入Flask类和request对象
from flask import Flask,session
app = Flask(__name__)
# 从配置对象中加载的默认配置
class DefaultConfig(object):
SECRET_KEY = 'jstwn63bng'
DEBUG = True
ENV = 'development'
app.config.from_object(DefaultConfig)
#设置session
@app.route('/set_session')
def set_session():
session['username'] = 'aniu'
return 'set session ok'
#读取
@app.route('/get_session')
def get_session():
username = session.get('username')
return 'get session username {}'.format(username)


思考:flask将session保存到哪里了?
在django中,对于session的保存,在数据库中会有一张专门的表去保存session数据,而我们flask中的session在上面说过,其实是一种浏览器session,他保存在浏览器。
>所以,放到浏览器之后就会有安全问题,因此就必须加一个“签名”,只有是我自己“签名”的才行,你拿过去修改后不能用。那如何保证这个签名是我自己的呢,就离不开我们的SECRET_KEY了。因此你看到的session中的内容可以说是“被加密”了。
结语
如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。
系列专栏
软磨 css
硬泡 javascript
前端实用小demo
更多专栏请移步博主主页查看! 博主的个人网站也很有趣,可以光顾一下哦:阿牛的博客小屋
边栏推荐
- In the era of super video, what kind of technology will become the base?
- 接口测试框架中的鉴权处理
- [SQL statement] Why do you select two Shanghai and query different counts here? I want it to become a Shanghai, and count only displays a sum
- How to use phpipam to manage IP addresses and subnets
- Tutorial on principles and applications of database system (004) -- MySQL installation and configuration: resetting MySQL login password (Windows Environment)
- ABAP call restful API
- Ring iron pronunciation, dynamic and noiseless, strong and brilliant, magic wave hifiair Bluetooth headset evaluation
- Endeavouros mobile hard disk installation
- Preliminary study on golang crawler framework
- C#/VB. Net merge PDF document
猜你喜欢

Submission lottery - light application server essay solicitation activity (may) award announcement

游戏行业安全选择游戏盾,效果怎么样?

怎么用MySQL语言进行行列装置?
![[jetsonnano] [tutorial] [introductory series] [III] build tensorflow environment](/img/0e/52e37527bc717c7a55741725087bad.png)
[jetsonnano] [tutorial] [introductory series] [III] build tensorflow environment

IM即时通讯开发万人群聊消息投递方案

Five years after graduation, I became a test development engineer with an annual salary of 30w+

EndeavourOS移动硬盘安装

Tutorial on the principle and application of database system (001) -- MySQL installation and configuration: installation of MySQL software (Windows Environment)

Stonedb is building blocks for domestic databases, and the integrated real-time HTAP database based on MySQL is officially open source!

In the past six months, it has been invested by five "giants", and this intelligent driving "dark horse" is sought after by capital
随机推荐
毕业后5年,我成为了年薪30w+的测试开发工程师
How to solve the keyboard key failure of notebook computer
Submission lottery - light application server essay solicitation activity (may) award announcement
ABAP call restful API
德国iF多项大奖加冕,这副耳机有多强?音珀GTW 270 Hybrid深度评测
Zhou Shaojian, rare
Red team Chapter 8: blind guess the difficult utilization process of the package to upload vulnerabilities
vim用户自动命令示例
Problèmes rencontrés dans le développement de la GI pour maintenir le rythme cardiaque en vie
数据库系统原理与应用教程(005)—— yum 离线安装 MySQL5.7(Linux 环境)
Principes et applications du système de base de données (006) - - compilation et installation de MySQL 5.7 (environnement Linux)
[daily news]what happened to the corresponding author of latex
ssm框架原理
Do280 management application deployment - pod scheduling control
Ring iron pronunciation, dynamic and noiseless, strong and brilliant, magic wave hifiair Bluetooth headset evaluation
Motion capture system for apple picking robot
The picgo shortcut is amazing. This person thinks exactly the same as me
程序员职业生涯真的很短吗?
EndeavourOS移动硬盘安装
Origin2018安装与使用(整理中)
>所以,放到浏览器之后就会有安全问题,因此就必须加一个“签名”,只有是我自己“签名”的才行,你拿过去修改后不能用。那如何保证这个签名是我自己的呢,就离不开我们的SECRET_KEY了。因此你看到的session中的内容可以说是“被加密”了。