похоже дело в django-allauth, а не в шаблоне.
django-allauth
служит только для регистрации через сторонние сервисы (соцсети и т. д.) и к проблеме отображения данных в профиле отношения не имеет.
Вы можете отключить
django-allauth
, потом сделать так чтобы все работало как вам нужно с помощью стандартных средств аутентификации джанго (по логину и паролю), а потом снова подключить
django-allauth
и все продолжит работать.
Изменяется: имя, аватар на профиле
Однако в ситуации с датой регистрации где используется {{ user.date_joined|date:"DATETIME_FORMAT" }} это не работает( просто престает выводится дата).
Проверил вывод даты регистрации в шаблон.
Если заменить
user
на
profile
, то дата отображается. Так как
profile
это такой же пользователь и у него тоже есть дата регистрации.
Для изменения аватара при помощи django avatar есть ссылка
<a href="{% url 'avatar_change' %}" class="link">
При переходе на которую выводятся фотографии для пользователя я вошел.
Видимо
django avatar
работает только с текущим пользователем, что вполне логично, так как менять свой аватар должен только сам пользователь.
Можно просто показывать ссылку на смену аватара только хозяину профиля.
Например сделать простую проверку:
HTML:
{% if user == profile %}
<!-- Показываем ссылку на смену аватара-->
{% endif %}
Получается, нужно для каждого элемента в шаблоне , связанного с пользователем нужно profile.useravatar; profile.userregistrationdata, которые надо прописать во views? Это странно и наверняка неверно, и вы уже 2 написали, что все завись от того, что прописано в шаблоне, но я все не могу, что в нем не так.
Если вы хотите в профиле выводить данные для пользователя, то они должны где-то храниться и при запросе передаваться в шаблон для вывода.
Обычно для сайтов с профилями (соц. сетей, форумов и т. д.) это делается в моделях. Создается модель
profile
связанная с
user
с помощью отношения
один-к-одному
. В этой модели хранятся все данные пользователя и вспомогательные методы (например, получение абсолютной ссылки на профиль, получение полного имени и т. д.), а также возможно связи с другими пользователями через отношения
многие-ко-многим
. Создание экземпляра модели часто автоматизируют с помощью сигнала (привязывают к сохранению нового пользователя).
У вас в проекте видимо это не реализовано. Так что чтобы не прописывать что-то дополнительно во вью лучше реализуйте это сначала в модели, а потом можно будет передавать в шаблон пользователя по ссылке из адреса и из его профиля выводить нужные данные.
Если не знаете как это лучше реализовать можете посмотреть видеоуроки по созданию социальной сети на django (их можно найти на youtube).
Ваш изначальный вопрос был связан с переопределением адреса редиректа после логина через
django-allauth
. Проблема заключалась в отсутствии ссылочного шаблона для обработки адреса (а также обработчика для него).
Вопрос был решен, остальные вопросы относятся к особенностям реализации вашего проекта, а не к регистрации через
django-allauth
.
Также для каждого вопроса создавайте отдельную тему, потому что для пользователей, которые ищут ответ на конкретный вопрос не удобно читать большие темы с большим количеством сообщений не относящихся непосредственно к ответу на вопрос.