Редактирование среды env (перезапись / переопределение после инициализации) - PullRequest
0 голосов
/ 17 июня 2019

Я использую пакет environ. Я хочу, чтобы мои стандартные (производственные) настройки были в файле settings.py. Но я хочу изменить пару настроек в зависимости от настройки DEBUG=1 в моем файле .env. Примерно так:

env = environ.Env(
    DEBUG=(bool, False),
    SECRET_KEY=(str, ''),
    DATABASE_URL=(str, 'postgres://testing:testing@localhost/testing'),
)
if os.path.exists(env_file):
    env.read_env(env_file)

DEBUG = env.bool('DEBUG')
SECRET_KEY = env.str('SECRET_KEY')
if DEBUG and not SECRET_KEY:
    SECRET_KEY = 'xxx'

# Default '@localhost' is needed for the production server. But that will probably fail
# on development machine. Write "DEBUG=1" to ".env" file to enable.
if DEBUG:
    DATABASE_URL = 'postgres://testing:testing@testing_postgres/testing'

DATABASES = {'default': env.db()}

Чтение файла и получение настройки DEBUG работает, но я не могу найти способ перезаписать переменную DATABASE_URL, ранее установленную environ.Env.

Есть ли способ перезаписать ранее установленное значение (частично перезаписать env)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...