Flask知识

Flask相关知识

视图

  • 自带视图

路由

  1. 装饰器
  2. 单独文件统一指定

数据模型

Flask_SQLAlchemy:

  • 配置对应的数据库URL
  • 定义数据模型
  • 在应用初始化中创建对应的表
  • 在视图中使用数据库对象方法来操作数据库

Flask_Migrate:

  • 初始化flask db init
  • 创建迁移脚本flask db migrate
  • 将迁移应用到数据库 flask db upgrade

模板系统

jinjia2模板系统, 全栈开发的话可能有用, 如果注重全段页面的话还是需要专门的前端人员.

蓝图

不同的应用独立出一个不同的蓝图, 然后在挂在到某个URL前缀上

内部流程

客户端请求 –请求对象-> Flask –查找请求的URL-> 视图 –响应->

应用上下文:

  • current_app
  • g

请求上下文:

  • request
  • session

钩子, 像是不同情况的触发器, 请求发生前, 发生后等, 触发这个就做某些事

Hooks:

  • before_request
  • before_first_request
  • after_request
  • teardown_request

非核心内容

配置文件:

  • 单独配置文件
  • 使用类继承来区分不同的配置, 开发, 测试, 生产环境
  • 重要信息从环境变量中获取

单元测试:

  • 可以使用标准库的unittest来进行单元测试

常用Flask插件

数据库:

  • Flask_SQLAlchemy
  • Flask_Migrate

前端:

  • Flask_Bootstrap
  • Flask_Markdown
  • Flask_Pagedown

表单系统:

  • Flask_WTF

身份验证:

  • Flask_Login
  • Flask_HTTPAuth 验证身份

邮件系统:

  • Flask_Mail

如何异步上传