1、在init.py中进行懒加载设置,则无法在models模块中创建对象。
def creat_app(env):
# 实例化flask
app = Flask(__name__)
# 初始化配置
app.config.from_object(envs.get(env))
# 初始化路由
init_home_blue(app)
init_admin_blue(app)
init_first_blue(app)
# 初始化第三方
init_ext(app)
return app
2、然后再丛manager启动文件导入create_app,实现懒加载
# 懒加载导入app对象
from App import creat_app
3、结果:只能在views视图中创建具体的对象
@blue.route('/addperson/')
def add_person():
role = Role(
name='超级管理员',
auths=''
)
db.session.add(role)
db.session.commit()
return 'Add Success'
4、如果要在models.py中创建则需要
方式一 直接实例化app 不要写哪个create_app函数了,在启动文件中直接导入app对象: