Я занимаюсь разработкой приложения Django, большой системы, требующей нескольких подпрограмм для поддержания чистоты. Поэтому у меня есть каталог верхнего уровня, который является приложением Django (так как он имеет пустой файл models.py
), и несколько подкаталогов, которые также являются приложениями сами по себе.
Причина, по которой я выложил свое приложение таким образом, заключается в том, что под-приложения разделены, но они никогда не будут использоваться сами по себе, вне родительского приложения. Поэтому нет смысла раздавать их по отдельности.
При установке моего приложения файл настроек должен содержать что-то вроде этого:
INSTALLED_APPS = (
...
'myapp',
'myapp.subapp1',
'myapp.subapp2',
...
)
... что явно неоптимально. Это также имеет несколько неприятный результат, когда все подпрограммы именуются своим «внутренним» именем (т. Е. subapp1
, subapp2
и т. Д.). Например, если я хочу сбросить таблицы базы данных для subapp1, я должен набрать:
python manage.py reset subapp1
Это раздражает, особенно потому, что у меня есть вспомогательное приложение под названием core
, которое может конфликтовать с именем другого приложения, когда мое приложение установлено в проекте пользователя.
Я делаю это совершенно неправильно, или нет, чтобы заставить эти "внутренние" приложения ссылаться на их полное имя?