Вместо:
settings.py
Вы можете иметь такую структуру:
settings/
base.py
development.py
staging.py
production.py
base.py
содержит все общие настройки.
development.py
импортирует все настройки из base.py
и перезаписывает необходимые настройки для development server
примерно так:
from your_app.settings.base import *
A_SETTING_TO_CHANGE = DIFFERENT_VALUE_FOR_DEVELOPMENT
staging.py
импортирует все настройки из base.py
и перезаписывает необходимые настройки для staging server
примерно так:
from your_app.settings.base import *
A_SETTING_TO_CHANGE = DIFFERENT_VALUE_FOR_STAGING
production.py
импортирует все настройки из base.py
и перезаписывает необходимые настройки для production server
примерно так:
from your_app.settings.base import *
A_SETTING_TO_CHANGE = DIFFERENT_VALUE_FOR_PRODUCTION
Затем в wsgi.py
и manage.py
измените:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_app.settings')
На:
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_app.settings.development')
В staging server
установите для переменной среды DJANGO_SETTINGS_MODULE
значение 'your_app.settings.staging'
.
В production server
установите для переменной среды DJANGO_SETTINGS_MODULE
значение 'your_app.settings.production'
.