编辑环境(初始化后覆盖/覆盖)

时间:2019-06-17 13:46:23

标签: python django

我正在使用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变量的方法。

有没有办法覆盖以前设置的值(部分覆盖环境)?

0 个答案:

没有答案