В DJANGO_SETTINGS_MODULEзмінної середовища управління , який файл настройок Django завантажить.
Отже, ви створюєте окремі файли конфігурації для відповідних середовищ (зауважте, що вони, звичайно, можуть бути як import *з окремого файлу "спільних налаштувань"), так і використовувати DJANGO_SETTINGS_MODULEдля керування, який з них використовувати.
Ось як:
Як зазначено в документації про Джанго:
Значення DJANGO_SETTINGS_MODULE повинно бути в синтаксисі шляху Python, наприклад, mysite.settings. Зауважте, що модуль налаштувань повинен знаходитись на шляху пошуку імпорту Python.
Отже, припустимо, ви створили myapp/production_settings.pyі myapp/test_settings.pyу своєму вихідному сховищі.
У такому випадку ви б відповідно встановили DJANGO_SETTINGS_MODULE=myapp.production_settingsвикористання першого та DJANGO_SETTINGS_MODULE=myapp.test_settingsдругого.
З цього моменту проблема зводиться до встановлення DJANGO_SETTINGS_MODULEзмінної середовища.
Налаштування DJANGO_SETTINGS_MODULEза допомогою сценарію або оболонки
Потім ви можете використовувати сценарій завантаження або менеджер процесів, щоб завантажити правильні налаштування (встановивши середовище), або просто запустити його зі своєї оболонки перед запуском Django : export DJANGO_SETTINGS_MODULE=myapp.production_settings.
Зауважте, що ви можете запустити цей експорт у будь-який час із оболонки - це не потрібно жити у вашому .bashrcчи нічого.
Налаштування DJANGO_SETTINGS_MODULEза допомогою диспетчера процесів
Якщо ви не любите писати сценарій завантаження, який задає середовище (і для цього є дуже вагомі причини!), Я рекомендую використовувати менеджер процесів:
Нарешті, зауважте, що ви можете скористатися PYTHONPATHзмінною для зберігання налаштувань у зовсім іншому місці (наприклад, на виробничому сервері, зберігаючи їх у /etc/). Це дозволяє відокремити конфігурацію від файлів додатків. Ви можете або не хочете цього, це залежить від структури вашого додатка.