采用单模块时,sqlalchemy(app),可以很轻易的给engineer赋值。
转换成工程模式之后,在app.py中调用了sqlalchemy.init_app(app),
在model模块中,引入sqlalchemy后,打印出engineer的值,始终为none。
查找资料后,发现跨模块之后,就要用到app的上下文环境对应,所以要在model块中增加上下文环境的代码:
app=create_app('development','True')
app.app_context().push() //获取app.py中定义的上下文环境
这样engineer就获取了config中的数据库配置
ps.其实不用这么麻烦,在系统运行起来之后,根据上下文,会给db的engineer赋值,赋值,赋····值·····