如何在配置文件中设置 FLASK_ENV?

我不想export每次登录时都修改我的变量。我希望它们在我的配置中。

从文档

建议使用上述环境变量。虽然可以在您的配置或代码中设置 ENV 和 DEBUG,但强烈建议不要这样做。

我该怎么做?这怎么可能'?

更多 - 我的尝试

我有一个flask.cfgFLASK_ENV='development'。我跑了flask run,我被development打印了。但是生产服务器已经启动了。

http://img2.mukewang.com/61812d210001ae2f11760207.jpg

它忽略以下内容:

app.config.from_pyfile("flask.cfg")
print(f"{app.config['ENV']}") => development

这是一个无关紧要的个人项目。这就是为什么我为了方便而忽略了最佳实践。


绝地无双
浏览 843回答 3
3回答

qq_花开花谢_0

怎么样:安装python-dotenv包,在你的项目根文件夹中创建一个 .flaskenv 文件并添加,例如,这个:FLASK_APP=app.py (or whatever you named it)FLASK_ENV=development (or production)节省。做烧瓶运行。

侃侃尔雅

如果您将配置移到 Python 中,事情会变得容易一些。考虑from flask import Flaskfrom config import Configapp = Flask(__name__)app.config.from_object(Config)哪里config.py看起来像import osclass Config:    SECRET_KEY = os.environ.get('SECRET_KEY', 'default sekret')这为您提供了可以从环境变量中覆盖的默认值。

郎朗坤

根据Flask 开发人员的说法,您不能再这样做了:ENV 和 DEBUG 配置值很特殊,因为如果在应用程序开始设置后更改它们,它们的行为可能会不一致。为了可靠地设置环境和调试模式,Flask 使用了环境变量。环境用于向 Flask、扩展和其他程序(如 Sentry)指示 Flask 正在运行的上下文。它由 FLASK_ENV 环境变量控制,默认为生产环境。将 FLASK_ENV 设置为 development 将启用调试模式。默认情况下,flask run 将在调试模式下使用交互式调试器和重新加载器。要与环境分开控制,请使用 FLASK_DEBUG 标志。要将 Flask 切换到开发环境并启用调试模式,请设置 FLASK_ENV:> $ export FLASK_ENV=development > $ flask run (On Windows, use set instead of export.)建议使用上述环境变量。虽然可以在您的配置或代码中设置 ENV 和 DEBUG,但强烈建议不要这样做。它们不能被烧瓶命令提前读取,并且一些系统或扩展可能已经根据以前的值配置了自己。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python