我正在使用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
变量的方法。
有没有办法覆盖以前设置的值(部分覆盖环境)?