6.抽取项目的配置到单独的文件
代码抽取
目的:将特定的逻辑代码抽取到指定的类中,各司其职,方便后续项目维护
创建config文件,用于项目的配置文件

就是将配置类Config里面的内容放到config配置文件里
然后在manage.py里面从config导入Config类

抽取APP的创建逻辑到业务逻辑的模块里面
manager作为一个启动程序,我们不应该在里面放太多的东西,我们要对里面的内容进行一些分类成处理
创建一个info包,里面专门放业务逻辑的代码

然后把app的配置放到info里面的__init__文件中,该导入的导入:快捷键 ctrl+enter回车键

manager里面的也倒一下

抽取不同环境下的配置&通过配置名字获取指定的配置
不同环境下可能下图中的某些配置是不一样的.
开发环境,debug为true,可能数据库是测试数据库.
生产环境,也就是线上环境, debug为false,数据库是真实数据库.
那么为了方便切换环境,我们做出如下处理,定义相对应的配置类,并用字典保存:

那么我们在app中导入配置时,就需要根据不同环境,写不同的类名:

使用工厂方法创建应用实例
在不同环境下去使用不同的配置,那么可以在 manage.py 文件中给 info 包传入不同的配置信息,让 ihome 去根据传入指定配置去创建 app,所以可以在 info的 __init__.py 文件中添加一个工厂方法,根据传入的配置不同创建其对应的应用实例
在info的__init__.py 添加create_app的工厂方法,将 __init__.py 文件中创建 app 实例的方法移动到 create_app 方法中

转义文件的时候要注意,这时db没有了,需要把db初始化数据库这一步放在外面,然后再在里面使用init_app初始化
然后在manager.py中修改代码

这个和development时代表开发环境下的配置,可以改变这个值来切换开发和生产环境,因为这个值要传入create_app这个方法中

浙公网安备 33010602011771号