Джанго Аллах - добавьте контекст к электронной почте для сброса пароля - PullRequest
0 голосов
/ 25 мая 2019

В этом проекте я использую 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.

Любые идеи, как добавить некоторый контекст в электронную почту для сброса пароля.почта, я хотел бы начать свою электронную почту с "Дорогой Джон",

Заранее спасибо!

...