Flask框架中Cookie与Session用法详解
2023-09-11 14:15:14 时间
1、Cookie
1.1 设置cookie
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/cookie')
def set_cookie():
resp = make_response('set cookie ok')
resp.set_cookie('username', 'itcast')
return resp
1.2 设置cookie有效期
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/cookie')
def set_cookie():
response = make_response('hello world')
response.set_cookie('username', 'itheima', max_age=3600)
return response
if __name__ == '__main__':
app.run()
1.3 读取cookie值
from flask import Flask, request
app = Flask(__name__)
@app.route('/get_cookie')
def get_cookie():
resp = request.cookies.get('username')
return resp
if __name__ == '__main__':
app.run()
1.4 删除cookie值
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/delete_cookie')
def delete_cookie():
response = make_response('hello world')
response.delete_cookie('username')
return response
if __name__ == '__main__':
app.run()
1.5 cookie值连同render_template共同使用
示例代码:
from flask import Flask, request, make_response, render_template
app = Flask(__name__)
@app.route('/')
def index():
resp = request.cookies.get('user_name')
if resp:
return f'欢迎来到首页,我的cookie值为:{resp}'
return '欢迎来到首页!!!'
@app.route('/login')
def login():
response = make_response(render_template('login.html')) # render_template()可以正常传递参数
response.set_cookie('user_name', 'zhangsan', max_age=3600)
return response
if __name__ == '__main__':
app.run()
运行效果:
2、Session
2.1 设置session值
需要先设置SECRET_KEY,否则程序会报错的
class DefaultConfig(object):
SECRET_KEY = 'fih9fh9eh9gh2'
app.config.from_object(DefaultConfig)
或者直接设置
app.secret_key='xihwidfw9efw'
设置session值:
from flask import Flask, session
app = Flask(__name__)
# class DefaultConfig(object):
# SECRET_KEY = 'fih9fh9eh9gh2'
#
#
# app.config.from_object(DefaultConfig)
# 或者直接设置
app.secret_key = 'xihwidfw9efw'
@app.route('/set_session')
def set_session():
session['username'] = 'itcast'
return 'set session ok'
if __name__ == '__main__':
app.run()
2.2 读取session值
from flask import Flask, session
app = Flask(__name__)
# class DefaultConfig(object):
# SECRET_KEY = 'fih9fh9eh9gh2'
#
#
# app.config.from_object(DefaultConfig)
# 或者直接设置
app.secret_key = 'xihwidfw9efw'
@app.route('/get_session')
def get_session():
username = session.get('username')
return 'get session username {}'.format(username)
if __name__ == '__main__':
app.run()
2.3 思考
flask将session数据保存到了哪里?
相关文章
- Cookie防伪造防修改 电商课题:cookie防篡改
- 5 -- Hibernate的基本用法 --1 3 流行的ORM框架简介
- 适合2015年开发的10个新锐框架(下)
- 搭建关键字驱动自动化测试框架
- http框架--基于OkHttp 4 封装的http请求工具类
- 《Java EE核心框架实战》—— 2.1 MyBatis 3的SQL映射 文件
- 基于Java(SSM框架)+Mysql开发的人员管理系统【100010075】
- 360动态加载的Android插件框架
- express框架中cookie的使用
- 流行的前端框架
- MindSpore框架 加载文本数据集 示例
- 20个代码生成框架
- YII2框架集成go!aop
- 全栈开发实战|SSM框架整合开发
- quick-cocos2d-x教程7:程序框架内framework文件夹分析
- 常用iOS的第三方框架
- 分布式服务框架Dubbo