Flask知识
Flask相关知识
视图
- 自带视图
路由
- 装饰器
- 单独文件统一指定
数据模型
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
如何异步上传