Гениально, не меньше. Прочел 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.
Комментариев нет:
Отправить комментарий