flask框架2
一. 状态保持
0. cookie细节
只要设置了cookie, 在该网站的
任意路由都可以获取到cookie数据同源策略: cookie数据
只会发给生成该cookie的网站前端也可以通过js来设置和获取cookie
1. Session实现 (重点)
-
特点:
数据保存在
服务端(一般放在服务器的数据库中)session是
依赖cookie机制
-
场景:
适合存放
重要/敏感的数据, 安全性更高
session交互过程
网站登录流程
session实现
2. Session细节
生成随机字符串
base64.b64encode(os.urandom(48))设置session的过期时间
# 设置sesion支持过期时间 过期时间默认为31天
session.permanent = True
# 设置session过期时间
app.permanent_session_lifetime = timedelta(days=7)
session删除数据
session.pop("name", None) # 设置默认值, 即使key不存在, 也不报错
flask中默认的session存储机制没有使用传统的session存储机制(数据保存到服务端的数据库中), 而是将
session数据加密后保存到了cookie中
二. 高级处理
1. 上下文
存在使用范围:
从某次请求开始, 到该请求结束
2. 请求勾子
作用: 对
请求的各类事件进行监听
3. 路由变量
3.1 绑定动态URL (重点)
作用: 让视图函数可以
绑定动态URL
3.2 正则转换器
作用: 对路由变量进行
格式过滤
三. 参数和配置
1. Flask( )参数
参数
static_url_path用于设置静态文件的访问路径
2. Flask应用配置
flask的配置通过
config属性来设置app.config.from_object()从对象中加载配置
四. 脚本启动
如何在服务器上运行web应用
脚本启动组件
flask-script可以让开发者使用更方便的命令来启动和配置we应用脚本启动的代码
启动和配置web应用的命令
python main.py runserver -h 0.0.0.0 -p 8000 -dpycharm运行脚本启动项目
五. 模板
1. 模板变量的基本使用 (重点)
模板渲染的三步操作