一、配置信息抽取

创建一个config文件用来存储配置代码

 

将class配置信息放入config文件中

 

 

 二、app信息抽取

在项目文件夹里创建python package文件名叫info,将app信息放入info自带的init文件中

 

 导入app

1 from info import app,db

 三、工厂方式

在config文件中写三个环境类

 1 class DevConfig(Config):
 2     """开发环境"""
 3     pass
 4 
 5 class ProConfig(Config):
 6     """生产环境"""
 7     DEBUG = False
 8     SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1:3306/demo'
 9     pass
10 
11 class TextConfig(Config):
12     """测试环境"""
13     pass

在用函数来创建app

1 def create_app():
2     app = Flask(__name__)
3     app.config.from_object(configs[config])
4     db = SQLAlchemy(app)  # 创建mysql链接对象
5     sr = StrictRedis(port=configs[config].SR_PORT,host=configs[config].SR_HOST)  #创建连接redis对象并将手动定义的地址和端口加入
6     CSRFProtect(app) #开启CSRF保护
7     Session(app)

从info里导入create_app完成创建

1 from info import create_app
2 
3 app = create_app()

在config文件中configs字典方便查找

configs = {
    "dev":DevConfig,
    "pro":ProConfig,
    "text":TextConfig
}

init文件里导入confis包

from config import configs

在创建app里写入参数

from info import create_app

在app函数里写入config接受参数,再写入app返回值

 

四、创建全局的db连接对象

1 db = SQLAlchemy()
2 
3         def create_app():
4             app = Flask(__name__)
5             db.init_app(app)
6             return app

 

posted on 2022-06-15 00:06  121212???  阅读(40)  评论(0)    收藏  举报