7 июн. 2008 г.

Разные настройки для development и production режимов

Гениально, не меньше. Прочел Multiple django configurations for development and production. Matt предлагает использовать файлы настройки вида settings_[hostname].py. Типа, settings_ivan-laptop.py.

А проект запускать с параметрами

./manage.py --setings_ivan-laptop runserver

В settings_[hostname].py нужно будет дописать

from settings import *

В чем же гениальность? - спросите Вы. Овет прост:

  • в репозитории один общий набор файлов. Нет случайных коммитов для домашних настроек
  • в публичный репозитории не попадут настройки сервера, а апдейты все равно будут проходить как по маслу
  • для запуска через mod_python например, дополнительные параметры вообще не проблема, о чем Мэт и пишет
<Location "/">
SetHandler python-program
PythonPath "['/srv/site-name/python-packages'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE trainingwebsite.settings_production
</Location>
Полный пример и дисскусии по его поводу читайте тут:
http://www.bearfruit.org/blog/2008/05/28/multiple-django-configurations-for-development-and-production
 
На сайте djangoproject.com оказывается тоже давно об этом подумали. Вот материал: http://code.djangoproject.com/wiki/SplitSettings
Самый интересный вариант, на мой взгляд - ini-style file for deployment.

Комментариев нет: