Работая с профилями пользователей в Django (да и в любых других веб-фреймворках) сразу становится видно насколько использование фрейворков ограничивает разработчика рамками которые авторы заложили в фреймворк.
Дефолтный модуль django.contrib.auth реализует отличную систему управления пользователями на основе учётных записей, групп и прав доступа. Но практически всегда требуется расширения модели по умолчанию, хотя бы добавлением аватарки пользователя и для этого в Django есть много способов, которые необходимо изучить, чтобы выбрать какой использовать для себя.
Самый примитивный способ, это создание новой модели связанной с моделью django.contrib.auth.models.User
Если вы админ локалхоста и на вашем сайте ни кого кроме вас и гостей не бывает, то вам наверняка подойдёт способ описываемый в последней документации к Django, по сути там не расширяется модель по умолчанию, а создаётся новая, примитивная, без групп и прав, за то с аватаркой.
В то время как расширение стандартной модели позволяет сохранить функционал, который, как и всегда, являясь сильной стороной в то же время является и слабым местом. По-этому, желание сохранить мощный функциона django.contrib.auth приводит к тому, что нужно вписываться в его архитектуру, а это ограничивая полёт фантазии
Расширяеть модель нужно через наследование класса User, затем нужно создать свой бакенд, подключить и связать его со своим производным классом в настройках проекта.
Комментариев 0