因为_request_ctx_stack和_app_ctx_stack这两个栈中没有栈顶数据导致的,可以通过手动推入栈的方式将数据推入到栈中。
Working outside of application context
这种问题的出现可能是在单元测试或者离线应用中,在没有请求的时候,需要获取到app的配置信息。
解决办法:
通过app.app_context()方法获取到app的核心对象而不是AppContext,然后将其推入到app栈中。
ctx = app.app_context()
ctx.push()
可以使用with语句将其推入到栈中。
with app.app_context():
a = current_app
d = curren_app.config[‘DEBUG’]