django-allauth — показать адрес электронной почты пользователя в электронном письме с подтверждением

Я рассылаю пользователям электронные письма с регистрацией/подтверждением (django_allauth) и настраиваю шаблоны для этой функции. Все работает, электронные письма отправляются, используются правильные шаблоны, пользователи могут переходить по ссылкам и подтверждать адреса и т. д.

Однако я хотел бы иметь возможность отображать адрес электронной почты в электронном письме с подтверждением, т.е. что-то вроде:

The {{ user_name }} wants to confirm the email address {{ email_address }}…

Мне кажется очевидным, что django_allauth «знает» адрес электронной почты, поскольку он обрабатывает отправку/подтверждение, но, похоже, нет никакой документации о том, как получить доступ к этому атрибуту.


person typonaut    schedule 10.05.2020    source источник


Ответы (1)


Я застрял с этой проблемой на ДОЛГОЕ ВРЕМЯ, и в Интернете не было никаких источников, которые могли бы мне помочь! Но на самом деле это очень просто.

{{ user.email }} 

вы получите адрес электронной почты пользователя. Реализация по умолчанию для получения имени пользователя:

{% user_display user %}

, но я предполагаю, что вы также можете использовать {{ user.username }}

https://django-allauth.readthedocs.io/en/latest/templates.html#account-tags объясняет некоторые из них. Удачи!

person Eric Chen    schedule 06.06.2020
comment
На самом деле, я заметил, что это работает только в html-файлах, таких как account/email/email_confirmation_message.html. Я не знаю, почему это не работает в файлах .txt :(. - person Eric Chen; 06.06.2020
comment
Нет, я вижу другое поведение, приведенные вами примеры отображаются на HTML-странице ответа, но не отображаются в отправленном электронном письме (либо HTML, либо обычный текст, например, email_confirmation_message.html или email_confirmation_message.txt). - person typonaut; 29.06.2020