Я предполагаю, что это своего рода дополнительный вопрос к Где должен я создаю приложения django в django 1.4? Окончательный ответ, казалось, был «никто не знает, почему Django изменил структуру проекта», что кажется немного неудовлетворительным.
Мы запускаем новый проект Django, и в настоящее время мы следуем базовой структуре, описанной на http://www.deploydjango.com/django_project_structure/index.html:
├── project
│ ├── apps
│ │ ├── app1
│ │ └── app2
│ ├── libs
│ │ ├── lib1
│ │ └── lib2
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
Но я думаю, что мы также ожидаем среду с несколькими разработчиками, включающую в основном независимые приложения с общими компонентами уровня проекта, поэтому мне кажется более правильным разделить пути проекта и приложения.
├── project
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── apps
│ ├── app1
│ └── app2
├── libs
│ ├── lib1
│ └── lib2
└── manage.py
Однако трудно придумать для этого какое-то конкретное, не стилистическое обоснование. (До сих пор я в основном работал только с проектами с одним приложением, поэтому я могу что-то упустить.)
В основном меня мотивирует тот факт, что Django 1.4, кажется, движется в последнем направлении. Я предполагаю, что есть некоторое обоснование или ожидаемый вариант использования, который мотивировал это изменение, но я видел только предположения о том, что это может быть.
Вопросы:
- Что послужило мотивом для изменения структуры проекта 1.4?
- Существуют ли варианты использования, когда наличие приложений внутри/вне проекта оказывает нетривиальное влияние?