我正在使用应用程序工厂模式构建一个 Flask 应用程序。如果我在我的虚拟环境上安装 BPython 并使用 shell,它似乎无法获取应用程序上下文,因此当我尝试执行以下操作时:
>> Role.query.all()
我收到一个运行时错误:
application not registered on db instance and no application bound to current context
我必须使用创建应用程序上下文并执行以下操作:
with app.app_context():
...
do stuff
但是,如果我使用 IPython,它可以正常工作。在文档中,它说它已经为BPython和IPython做好了准备,所以我不知道为什么它没有创建应用程序上下文。
我报告了这个问题。这是BPython的问题 https://github.com/smurfix/flask-script/pull/165