使用Flask命令时无法加载Flask配置

时间:2019-03-09 14:46:42

标签: python flask

我尝试使用config.from_pyfileconfig.from_object加载flask配置。为简化起见,我将配置对象与Flask应用程序对象放在同一文件中,并在设置它们后打印了一些配置键。

flask_app = Flask(__name__, instance_relative_config=True)


class Config():
    SQLALCHEMY_DATABASE_URI = "postgresql://root:root@localhost/root"

    FLASK_DEBUG = True
    FLASK_ENV = "development"
    DEBUG = True
    ENV = "development"


flask_app.config.from_object(Config)

#this gets printed in both cases as - True
#but the server is not in debug mode
print(flask_app.config['FLASK_DEBUG'])

现在,当我使用-

运行服务器时

python run.py

run.py包含运行服务器的主要方法,配置已正确加载,并且能够使用DEBUG模式,但是如果我使用Flask run运行服务器,则不会加载配置,即使更新的配置被打印出来。

2 个答案:

答案 0 :(得分:0)

在Pycharm应用程序的右上角,下拉菜单旁边有播放,停止,暂停按钮,从下拉菜单中,您需要进入flask Web应用程序设置,在此新窗口中是您需要选中以运行调试环境的复选框。

如果您使用Pycharm创建初始项目,则此答案尤其重要。

答案 1 :(得分:0)

如果您正在使用其他文件中的config对象(例如config.py),则需要设置APP_CONFIG_FILE环境变量,使其指向config.py文件,然后运行flask run。这为我解决了这个问题。