一、配置信息抽取
创建一个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
浙公网安备 33010602011771号