В 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/
). Це дозволяє відокремити конфігурацію від файлів додатків. Ви можете або не хочете цього, це залежить від структури вашого додатка.