Профили настройки мезонина

У меня есть проект, в котором мне нужно расширить пользователя django. То, как я сделал это изначально (без мезонина), заключалось в том, чтобы подклассифицировать модель в пользовательский профиль, который имел поле «один к одному» для пользователя django. Кроме того, чтобы гарантировать, что у каждого пользователя всегда есть профиль, я создал в своем приложении приемник, который будет прослушивать сигнал user_registered. Всякий раз, когда он срабатывал, я просто делал внутри приемника:

user = kwargs.get('user')
profile = Profile(user=user)
profile.save()

Теперь в Mezzanine существуют настройки с именем AUTH_PROFILE_MODULE, которые я просто установил равными «myapp.Profile», и Mezzanine создает для меня профиль. Однако есть две проблемы:

а) В моем веб-приложении каждый раз, когда я захожу на страницу своего профиля, я получаю следующее:

myapp/venv/local/lib/python2.7/site-packages/mezzanine/accounts/templatetags/accounts_tags.py:70: DeprecationWarning: The use of AUTH_PROFILE_MODULE to define user profiles has been deprecated.
  profile = user.get_profile()

Действительно, AUTH_PROFILE_MODULE раньше существовал в django, но устарел. Что я должен делать? Я игнорирую предупреждение, так как это Mezzanine, а не django, который использует AUTH_PROFILE_MODULE? Или у Mezzanine теперь другой способ обработки профилей?

б) На моем приемнике, который у меня был без мезонина, я сделал больше вещей. Например, я инициировал переменные профиля в зависимости от некоторых переменных среды. Как я могу по-прежнему делать эти нестандартные вещи с Mezzanine? Мой старый приемник больше не работает.

Спасибо за любую помощь


person Community    schedule 19.02.2014    source источник


Ответы (1)


Этот вопрос немного устарел, но я думаю, что вы можете спокойно игнорировать предупреждение.

Вы сможете выполнить дополнительную настройку, подключившись к сигналу до или после сохранения для модели профиля.

person joshcartme    schedule 06.03.2014