Ответ 1
У вас может быть приложение с именем core
или аналогичным, в котором содержатся вещи, не привязанные к какому-либо приложению. Это могут быть команды управления, temlatetags, модели и, возможно, другие модули, такие как формы, декораторы, промежуточное ПО. Вы можете использовать свою директорию проекта как "основное" приложение.
Вот как я склонен структурировать свои проекты:
project_name
not_reusable_app1
not_reusable_app2
templatetages
tempates
utils
models.py
settings.py
management
middleware.py
forms.py
processors.py
__init__.py
parts
reusable-app-1
reusable_app_1
setup.py
reusable-app-2
reurable-app-3
gereric-python-lib
django
setup.py
Мой INSTALLED_APPS
обычно выглядит так:
INSTALLED_APPS = (
...
'project_name',
'project_name.not_reusable_app1',
'reusable_app1',
...
)
Я не даю никакого специального лечения приложениям django, компромиссным с другими пакетами python. Например, я не помещаю их под apps
или подобным каталогом.
Понятно, что мои непеременные приложения являются частью проекта. В проектах, которые не используются повторно, обычно используются различные утилиты из проекта, например project_name.utils.decorators.some_kind_of_deco
.
Если вам не нравится использовать проект в качестве приложения, как я уже говорил, вы можете переместить все на project_name.core
.