Что именно дает мне Django UserProfile? - PullRequest
0 голосов
/ 17 февраля 2012

Я читал о поддержке Django пользовательских профилей. Я понимаю, что если я сделаю следующие шаги, я смогу связать объект пользовательского профиля с моим приложением.

  1. Создайте объект модели для UserProfile, который будет иметь django.contrib.auth.models..User as FK
  2. Добавьте следующее в settings.py AUTH_PROFILE_MODULE = 'accounts.UserProfile'
  3. Убедитесь, что объект UserProfile доступен для каждого объекта User (либо с использованием сигналов django, либо создавая его при запросе)

Делая все это, я получаю возможность получить профиль пользователя, выполнив

user.get_profile()

У меня вопрос, есть ли какие-либо другие функции, которые я получаю, такие как (не администратор) представления для просмотра / редактирования профиля пользователя?

Ответы [ 2 ]

1 голос
/ 17 февраля 2012

Нет дополнительной функциональности вообще. Единственное, что делает Django, - это предоставляет простой способ (через get_profile) изменить отношения между стандартным django contrib.auth.models.User и пользовательской моделью (обычно UserProfile - хотя это может быть что угодно). Альтернатива состоит в том, чтобы изменить отношения самостоятельно, что-то вроде:

my_user.userprofile_set.all()[0]

что явно неудобно.

Если вы хотите добавить функциональность, вам нужно посмотреть что-то вроде django-profiles (чтобы добавить представления для редактирования профиля) и django-registration (чтобы добавить знак взгляды вверх)

1 голос
/ 17 февраля 2012

Профиль пользователя позволяет расширять только стандартную модель пользователя. Вы не получаете никакой дополнительной функциональности.

...