Реиспользование приложений
Есть в Джанге такая сущность, как приложение - какой-то кусок функционала. На мой взгляд, то, что Джанга заставляет юзера делить свой проект на такие кусочки - это один из ее самых толстых плюсов (наряду с отличной документацией). Она идет даже дальше того - предоставляет несколько уже готовых, отлично сделанных приложений. Для аутентификации, для комментариев и т.п. - это достаточно известный факт, чтоб не останавливаться на нем дольше.
Но есть один момент, который меня немного напрягает - вот не позаботились
разработчики о достаточной расширяемости приложения аутентификации, и у нас
сразу куча проблем: все завязываются на это приложение (ну удобно же, почему бы
и не использовать?), а при необходимости получить что-то большее в своем проекте
- приходится либо перерисовывать auth один в один и править везде импорты,
либо какими-то хаками его расширять - изворачиваться. Хуже всего, когда
понимание того, что auth ну точно не хватает приходит посреди процесса, когда
уже куча функционала написана.
И вот если представить такого себе сферического пони в вакууме без проблем обратной совместимости - каким будет лучший путь решения проблемы?
Я пока вижу только два:
- точечный - как-то внимательно спроектировать
authтак, чтоб он был таки расширяемым; при этом, если возникает проблема с другим стандартным приложением, вся история начинается сначала; - применить магию по типу той, что была в Джанге сначала, когда можно было импортировать приложения как
django.apps.appname- тоже вроде как не зря они от нее отказались же.
Есть какие-нибудь разумные мысли?