Я храню каталог проектов / в моем домашнем каталоге (в Linux).Когда мне нужно начать новый проект, я делаю новый каталог с коротким именем (который достаточно описывает проект) в проектах /;это становится корнем нового virtualenv (с --no-site-packages) для этого проекта.
Внутри этого каталога (после того, как я установил venv, поставил его и установил копию django I)Я буду работать с), я "django-admin.py startproject" подкаталог, обычно с тем же коротким именем.Этот каталог становится корнем моего репозитория hg (с быстрой инициализацией hg и ci), независимо от того, насколько мал проект.
Если есть шанс поделиться проектом с другими разработчиками (проект для работы, дляпример), я включаю pip needs.txt в корень репо.Только требования проекта входят туда;Например, django-debug-toolbar и django-extensions, главные элементы для моего рабочего процесса dev, не являются требованиями проекта.Юг, когда мы его используем, равен.
Что касается проекта django, я обычно сохраняю файл settings.py по умолчанию, возможно, с некоторыми изменениями, и добавляю соглашение local_settings в конец его (try: from local_settings import *; except ImportError: pass
).Настройки среды моего и других разработчиков (например, добавление django-extensions и django-debug-toolbar к установленным приложениям) идут в local_settings.py, который не зарегистрирован для контроля версий.Чтобы помочь новому разработчику, вы можете предоставить шаблон этого файла как local_settings.py.temp или другое имя, которое не будет использоваться для каких-либо других целей, но я считаю, что это излишне загромождает репо.
Для личных проектов я обычно включаю README, если планирую опубликовать его публично.На работе мы поддерживаем среду Trac и хорошую коммуникацию, чтобы ускорить разработку новых проектов в проекте.
Что касается развертывания, как уже упоминалось, я слышал, что фабрика действительно хороша для такого рода локальных / удаленных сценариев.хотя я сам не воспользовался случаем, чтобы разобраться в этом.
Для непосвященных типичный сеанс оболочки для этого может выглядеть следующим образом:
$ cd ~/projects/
$ mkdir newproj
$ cd newproj/
$ virtualenv --no-site-packages .
$ source bin/activate
(newproj)$ pip install django django-debug-toolbar django-extensions
... installing stuff ...
(newproj)$ django-admin.py startproject newproj
(newproj)$ cd newproj/
(newproj)$ hg init .; hg ci -A -m "Initial code"