В этом проекте я использую Django Allauth, чтобы заставить пользователей зарегистрироваться и пройти аутентификацию.
Чтобы добавить имя пользователя "first_name" в контекст ссылки подтверждения электронной почты, которую я унаследовал от DefaultAccountAdapter, и добавило имя first_name в контекст электронной почты.
#adapter.py
class CustomEmailAdapter(DefaultAccountAdapter):
def get_email_confirmation_url(self, request, emailconfirmation):
"""Constructs the email confirmation (activation) url.
Note that if you have architected your system such that email
confirmations are sent outside of the request context `request`
can be `None` here.
"""
url = reverse(
"account_confirm_email",
args=[emailconfirmation.key])
ret = build_absolute_uri(
request,
url)
return ret
def send_confirmation_mail(self, request, emailconfirmation, signup):
current_site = get_current_site(request)
activate_url = self.get_email_confirmation_url(
request,
emailconfirmation)
ctx = {
"first_name": emailconfirmation.email_address.user.first_name, # <-- Added first_name to the context
"user": emailconfirmation.email_address.user,
"activate_url": activate_url,
"current_site": current_site,
"key": emailconfirmation.key,
}
if signup:
email_template = 'account/email/email_confirmation_signup'
else:
email_template = 'account/email/email_confirmation'
self.send_mail(email_template,
emailconfirmation.email_address.email, ctx)
Теперь я хочу сделать то же самое для электронной почты для сброса пароля, но я не думаю, что это возможно, чтобы добавить это в пользовательский AccountAdpater.
Любые идеи, как добавить некоторый контекст в электронную почту для сброса пароля.почта, я хотел бы начать свою электронную почту с "Дорогой Джон",
Заранее спасибо!