Load Django Settings Directly from Environmental Variables
- modify django configuration without modifying source code
- prevent hard-coding of Django settings
- works great with Docker
pip install djenv
pipenv install djenv
# inside settings.py
# import settings from environment
from djenv.settings import *
Prepend Settings with DJANGO_
to import them. For example:
DJANGO_DEBUG=False python3 manage.py runserver
Will set DEBUG=False in the settings.py
You can also replace nested settings like DATABASES by setting a JSON
DJANGO_DATABASES='{ "default": { "ENGINE": "django.db.backends.sqlite3", "NAME": "db.sqlite3" } }' python3 manage.py runserver