将Flask环境设置为默认开发模式?

cra*_*Pen 8 python flask

每次启动flask应用程序时,环境变量都会设置为生产。我想将其默认设置为开发模式。否则,每次我启动我的应用程序时,我都必须运行..

export FLASK_ENV=development

如何在每次启动时将环境的默认值设置为开发?

编辑:我在树莓派的虚拟环境中使用烧瓶。

Dar*_*iuM 12

您可以编辑主flask应用程序文件并添加以下行:

if __name__ == '__main__':
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

使用这种方法,您必须像这样用Python解释器运行flask应用程序=> python app.py

最佳实践:

  1. python-dotenv在您的工作环境中安装软件包=>pip install python-dotenv
  2. 创建一个名为的文件.env,将您的环境变量放入其中,具体情况是FLASK_ENV=development
  3. 然后将此代码添加到config.pyFlask主应用之前要加载的您的文件或某些文件中

    from dotenv import load_dotenv
    dotenv_path = join(dirname(__file__), '.env')  # Path to .env file
    load_dotenv(dotenv_path)
    
    Run Code Online (Sandbox Code Playgroud)

请注意:如果使用flask命令来运行应用程序,则无需执行第三步flask它本身会在项目目录中找到.env文件。

使用此方法,它将只为您添加了此代码的项目设置环境变量。

  • 谢谢!根据您的想法,我找到了一个更适合我的问题的解决方案,并在.flaskenv文件中添加了“ FLASK_ENV = development”并解决了该问题。我不需要创建配置文件,我假设flask已配置为在主模块之前加载.flaskenv。 (2认同)

Ked*_*tna 6

在 Linux 发行版上,例如“Raspberry pi os”,使用以下代码在终端上指定环境。除非您指定环境,否则 Flask 将假定production.

export FLASK_ENV=development
flask run
Run Code Online (Sandbox Code Playgroud)