У меня есть проект, в котором мне нужно расширить пользователя 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? Мой старый приемник больше не работает.
Спасибо за любую помощь