为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

绝地无双 2021-11-02 20:20:23
我不想export每次登录时都修改我的变量。我希望它们在我的配置中。从文档建议使用上述环境变量。虽然可以在您的配置或代码中设置 ENV 和 DEBUG,但强烈建议不要这样做。我该怎么做?这怎么可能'?更多 - 我的尝试我有一个flask.cfg带FLASK_ENV='development'。我跑了flask run,我被development打印了。但是生产服务器已经启动了。它忽略以下内容:app.config.from_pyfile("flask.cfg") print(f"{app.config['ENV']}") => development这是一个无关紧要的个人项目。这就是为什么我为了方便而忽略了最佳实践。
查看完整描述

3 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

怎么样:安装python-dotenv包,在你的项目根文件夹中创建一个 .flaskenv 文件并添加,例如,这个:


FLASK_APP=app.py (or whatever you named it)

FLASK_ENV=development (or production)

节省。做烧瓶运行。


查看完整回答
反对 回复 2021-11-02
?
侃侃尔雅

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')

这为您提供了可以从环境变量中覆盖的默认值。


查看完整回答
反对 回复 2021-11-02
?
郎朗坤

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,但强烈建议不要这样做。它们不能被烧瓶命令提前读取,并且一些系统或扩展可能已经根据以前的值配置了自己。


查看完整回答
反对 回复 2021-11-02
  • 3 回答
  • 0 关注
  • 842 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号