3 回答

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

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

TA贡献1921条经验 获得超9个赞
根据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,但强烈建议不要这样做。它们不能被烧瓶命令提前读取,并且一些系统或扩展可能已经根据以前的值配置了自己。
添加回答
举报