一. 项目配置
补充:git
工作流示意图
1.基本配置
-
创建mysql和redis的连接对象
-
配置信息封装到Config类中
tips:开始时,需要将设置归于一类,方便进行统一管理,并开启debug
tips: 直接运行,根据console提示进行设置
2.session存储(重点)
-
flask默认session保存在cookie中, 没有使用传统的方式(保存在服务器的数据库)来保存session数据
flask-session
组件可以帮助开发者来实现session在数据库中的存储
具体操作:设置组件需要的配置 初始化session存储组件 和之前一样使用session对象 进行session的存取
tips:可以点击`SQLALCHEMY_DATABASE_URL`进入flask源码_init_.py文件
tips: 通过`__init__.py`可知,redis(有时效性设置,读写快,在此处亦可以选择其他类型数据库)有`host`和`port`的默认值,需在config初始化前进行修改
tips:设置session加密以及密钥
3.脚本启动
tips:因前面设置过`host`和`port`,故mgr可以只添加`runserver`
二. 项目模块化
1.封装配置
- 开发中有很多代码环境, 不同的代码环境需要使用不同的配置(配置子类化)
* 开发环境: 项目开发阶段使用的配置环境
* 生产环境: 项目部署上线后使用的配置环境
tips:设置dev和pro子类继承,可以利用传参来控制config导入
2.将配置类单独放入config模块
中
3.针对不同的代码环境定义配置子类
tips:先黏贴再return
2.封装应用工厂函数
-
将
应用的创建和组件的初始化
封装到应用包中- 应用包定义
工厂函数
来封装处理 - config模块定义
配置字典
, 记录配置类型和子类的对应关系
- 应用包定义
tips:设置字典传参
3.封装视图函数
1. 将视图函数封装到模块包中
2. 使用蓝图对象来分管功能模块
tips:路由设置为蓝图
4.数据库对象全局化
1. 将数据库对象定义为全局变量
2. 在函 数中声明全局变量