flask框架2

一. 状态保持

0. cookie细节

  • 只要设置了cookie, 在该网站的任意路由都可以获取到cookie数据

  • 同源策略: cookie数据只会发给生成该cookie的网站

  • 前端也可以通过js来设置和获取cookie

1. Session实现 (重点)

  • 特点:

    • 数据保存在服务端(一般放在服务器的数据库中)

    • session是依赖cookie机制

  • 场景:

    • 适合存放重要/敏感的数据, 安全性更高

  • session交互过程

FLASK框架基础2

  • 网站登录流程

FLASK框架基础2

  • session实现

FLASK框架基础2

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. 上下文

  • 存在使用范围: 从某次请求开始, 到该请求结束

FLASK框架基础2

2. 请求勾子

  • 作用: 对请求的各类事件进行监听

FLASK框架基础2

3. 路由变量

3.1 绑定动态URL (重点)
  • 作用: 让视图函数可以绑定动态URL

FLASK框架基础2

3.2 正则转换器
  • 作用: 对路由变量进行格式过滤

FLASK框架基础2

三. 参数和配置

1. Flask( )参数

  • 参数static_url_path 用于设置静态文件的访问路径

FLASK框架基础2

2. Flask应用配置

  • flask的配置通过config属性来设置

  • app.config.from_object() 从对象中加载配置

FLASK框架基础2

四. 脚本启动

  • 如何在服务器上运行web应用

FLASK框架基础2

  • 脚本启动组件flask-script可以让开发者使用更方便的命令启动和配置we应用

  • 脚本启动的代码

FLASK框架基础2

  • 启动和配置web应用的命令 python main.py runserver -h 0.0.0.0 -p 8000 -d

  • pycharm运行脚本启动项目

FLASK框架基础2

五. 模板

1. 模板变量的基本使用 (重点)

  • 模板渲染的三步操作

FLASK框架基础2

相关文章: