首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django找不到.env变量吗?decouple.UndefinedValueError:找不到环境。将其声明为envvar或定义默认值。

Django找不到.env变量吗?decouple.UndefinedValueError:找不到环境。将其声明为envvar或定义默认值。
EN

Stack Overflow用户
提问于 2022-02-01 07:07:41
回答 1查看 1K关注 0票数 0

我对Django非常陌生,我试图配置python-解耦来使用.env变量。我找不到DB_PASSWORD了。将其声明为envvar或定义默认值。当试图运行服务器时。.env文件位于根目录中。这是我的代码:

代码语言:javascript
复制
raise UndefinedValueError('{} not found. Declare it as envvar or define a default value.'.format(option))
decouple.UndefinedValueError: ENVIORNMENT not found. Declare it as envvar or define a default value.

settings.py

代码语言:javascript
复制
from decouple import config
from secrets_manager import get_secret

environment = config("ENVIRONMENT")
SECRET_KEY = get_secret(environment).get("SECRET_KEY")
DEBUG = config("DEBUG", default=False, cast=bool)

DATABASES = {
    "default": {
        "ENGINE": config("DB_ENGINE"),
        "NAME": config("DATABASE_NAME"),
        "USER": config("DB_USER"),
        "PASSWORD": config("DB_PASSWORD"),
        "HOST": config("DB_HOST"),
        "PORT": config("DB_PORT", cast=int),
        "OPTIONS": {
            "init_command": "SET foreign_key_checks = 0;",
        },
    }
}

.env

代码语言:javascript
复制
SECRET_KEY='nvyj6_-&m@lg87$%l3@@#+r046ioem^18+ql*)t)'
DEBUG=True
DB_ENGINE=django.db.backends.mysql
DATABASE_NAME=blogs
DB_USER=root
DB_PASSWORD=
DB_HOST=127.0.0.1
DB_PORT=3306

Django==3.1.4 python-decouple==3.3

EN

回答 1

Stack Overflow用户

发布于 2022-02-01 07:34:09

在代码中使用config('ENVIRONMENT').env文件中没有相应的ENVIRONMENT设置。确保:

  • 您的.env文件位于项目的根目录。
  • 您在.env文件和settings.py文件中一致拼写ENVIRONMENT,无论您使用它的位置。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70936691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档