Now if I have .env file like
USE_DOCKER=yes
POSTGRES_DB=kbackend
USER=root
DB_URL=$USER:$POSTGRES_DB
when I use env('DB_URL')
it returns to me $USER:$POSTGRES_DB
I want to return root:kbackend
- I use
django-environ
My original incorrect answer:
DB_URL=${USER}:${POSTGRES_DB}
Updated answer: Currently, django-environ
does not support this. The relevant 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))