当前位置:网站首页>【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
更多专栏请移步博主主页查看! 博主的个人网站也很有趣,可以光顾一下哦:阿牛的博客小屋
边栏推荐
- Submission lottery - light application server essay solicitation activity (may) award announcement
- Sqlserver query: when a.id is the same as b.id, and the A.P corresponding to a.id cannot be found in the B.P corresponding to b.id, the a.id and A.P will be displayed
- 红队第10篇:coldfusion反序列化过waf改exp拿靶标的艰难过程
- Go language source level debugger delve
- [observation] where is the consulting going in the digital age? Thoughts and actions of softcom consulting
- How to solve the keyboard key failure of notebook computer
- Rhcsa Road
- 芯片供应转向过剩,中国芯片日产增加至10亿,国外芯片将更难受
- How to cancel automatic search and install device drivers for laptops
- 实现数字永生还有多久?元宇宙全息真人分身#8i
猜你喜欢
VMware virtual machine failed during startup: VMware Workstation is incompatible with hyper-v
In the past six months, it has been invested by five "giants", and this intelligent driving "dark horse" is sought after by capital
SQLServer查询: a.id与b.id相同时,a.id对应的a.p在b.id对应的b.p里找不到的话,就显示出这个a.id和a.p
[nodemon] app crashed - waiting for file changes before starting...解决方法
The Department came to a Post-00 test paper king who took out 25K. The veteran said it was really dry, but it had been
How to repair the laptop that cannot connect to the wireless network
In the era of super video, what kind of technology will become the base?
瑞典公布决定排除华为5G设备,但是华为已成功找到新出路
Germany if was crowned with many awards. How strong is this pair of headphones? In depth evaluation of yinpo GTW 270 hybrid
Motion capture system for apple picking robot
随机推荐
[daily news]what happened to the corresponding author of latex
PostgreSQL 存储结构浅析
韩国AI团队抄袭震动学界!1个导师带51个学生,还是抄袭惯犯
博睿数据一体化智能可观测平台入选中国信通院2022年“云原生产品名录”
[nodemon] app crashed - waiting for file changes before starting... resolvent
Buuctf gold III
IM即时通讯开发实现心跳保活遇到的问题
The sharp drop in electricity consumption in Guangdong shows that the substitution of high-tech industries for high-energy consumption industries has achieved preliminary results
How to restore the system of Sony laptop
I'm a senior test engineer who has been outsourced by Alibaba and now has an annual salary of 40w+. My two-year career changing experience is sad
Go 语言源码级调试器 Delve
Golang爬虫框架初探
【Hot100】20. 有效的括号
Action after deleting laravel's model
IM即時通訊開發實現心跳保活遇到的問題
Go 语言错误处理为什么更推荐使用 pkg/errors 三方库?
Basic use of MySQL
What is the digital transformation of manufacturing industry
运动捕捉系统原理
【观察】数字化时代的咨询往何处走?软通咨询的思与行