6.抽取项目的配置到单独的文件

代码抽取

目的:将特定的逻辑代码抽取到指定的类中,各司其职,方便后续项目维护

创建config文件,用于项目的配置文件

就是将配置类Config里面的内容放到config配置文件里

然后在manage.py里面从config导入Config类

抽取APP的创建逻辑到业务逻辑的模块里面

manager作为一个启动程序,我们不应该在里面放太多的东西,我们要对里面的内容进行一些分类成处理

创建一个info包,里面专门放业务逻辑的代码

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

manager里面的也倒一下

抽取不同环境下的配置&通过配置名字获取指定的配置

不同环境下可能下图中的某些配置是不一样的.

开发环境,debugtrue,可能数据库是测试数据库.

生产环境,也就是线上环境, debugfalse,数据库是真实数据库.

那么为了方便切换环境,我们做出如下处理,定义相对应的配置类,并用字典保存:

那么我们在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这个方法中

 

posted @ 2019-03-07 22:58  阿磊小哥哥呀  阅读(243)  评论(0)    收藏  举报