将 Flask-Script shell 与 BPython 一起使用无法获取应用上下文



我正在使用应用程序工厂模式构建一个 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

最新更新