将dotenv文件分成几部分或在dotenv文件中使用变量

时间:2018-03-20 20:21:23

标签: environ

现在,如果我有.env文件,如

USE_DOCKER=yes
POSTGRES_DB=kbackend
USER=root
DB_URL=$USER:$POSTGRES_DB

当我使用env('DB_URL')时,它会返回给我$USER:$POSTGRES_DB 我想要返回root:kbackend

  • 我使用django-environ

1 个答案:

答案 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))