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