4.1 flask中经典错误 working outside application context
在 3.8节我们通过db.create_all(app=app)
的方式解决了working outside application context的错误,下面我们来深究,这个错误出现的具体原因是什么。
首先写一段测试代码
我们通过current_app获取配置,看似没有问题的代码,却抛出了同样的异常。
通过断点调试发现current_app并不是Flask对象,而是一个unbound的LocalProxy。
回想我们之前的request对象,其实也是个LocalProxy。
那么这里为什么会抛出这个异常呢,想要回答这个问题,就需要深入理解这个LocalProxy。我们在下一小节进行介绍
Last updated