现在,如果我有.env文件,如
USE_DOCKER=yes
POSTGRES_DB=kbackend
USER=root
DB_URL=$USER:$POSTGRES_DB
当我使用env('DB_URL')
时,它会返回给我$USER:$POSTGRES_DB
我想要返回root:kbackend
django-environ
答案 0 :(得分:0)
我原来的错误回答:
DB_URL=${USER}:${POSTGRES_DB}
更新的答案:目前,django-environ
不支持此功能。相关的code:
logger.debug('Read environment variables from: {0}'.format(env_file))
for line in content.splitlines():
m1 = re.match(r'\A([A-Za-z_0-9]+)=(.*)\Z', line)
if m1:
key, val = m1.group(1), m1.group(2)
m2 = re.match(r"\A'(.*)'\Z", val)
if m2:
val = m2.group(1)
m3 = re.match(r'\A"(.*)"\Z', val)
if m3:
val = re.sub(r'\\(.)', r'\1', m3.group(1))
cls.ENVIRON.setdefault(key, str(val))