Почему django startproject создает такую странную структуру проекта?
Django-проект состоит из одного или нескольких приложений. Startproject создает проект так, что настройки (settings.py) находятся внутри одного из приложений. Более того, не предлагается никакого решения для разделения настроек на dev и production.
Насколько я помню, в первых версиях Django настройки были вынесены из приложений и лежали рядом с manage.py. Зачем их внесли в директорию приложения?
Получается, что эта папка mysite — не главное приложение сайта (с моделями и вьюхами), как думают многие разработчики, а просто отдельный модуль для настроек и root_url. Тем не менее, мне не нравится, что manage.py и uwsgi.py лежат теперь в разных местах, а settings так и не вынесены в свою папку.
«These fix some issues with the previous manage.py handling of Python import paths that caused double imports, trouble moving from development to deployment, and other difficult-to-debug path issues» — узнать бы подробнее про эти проблемы и двойной импорт... Никогда не сталкивался.
Для разделения на dev и production можно сделать
projectdir/projectdir/settings/__init__.py
projectdir/projectdir/settings/dev.py
projectdir/projectdir/settings/prod.py
projectdir/projectdir/settings/common.py
И соответственно пропатчить manage.py и wsgi.py или вовсе настройки фронтенда.
Но в 1.7 новая система конфига для отдельных приложений, не факт что сработает с вот таким подходом.