0

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

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.

设置.py

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

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

4

1 回答 1

0

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

  • 您的.env文件位于项目的根目录中。
  • 你在你的文件和你使用它的文件中的拼写ENVIRONMENT一致。.envsettings.py
于 2022-02-01T07:34:09.620 回答