Триггер сброса пароля электронной почты в Django без браузера?

Я хочу иметь возможность отправлять электронную почту для сброса пароля с помощью django.contrib.auth.views.password_reset, но без использования браузера - для password_reset требуется заполненная форма, есть ли способ, которым я могу создать это программно и получить отправленное письмо?

2 ответа

Решение
from django.contrib.auth.forms import PasswordResetForm

def reset_password(email, from_email, template='registration/password_reset_email.html'):
    """
    Reset the password for all (active) users with given E-Mail adress
    """
    form = PasswordResetForm({'email': email})
    return form.save(from_email=from_email, email_template_name=template)

Вы можете просто использовать django.contrib.auth.forms.PasswordResetForm и заполнить его такими данными:

form = PasswordResetForm({'email':'sample@sample.com'})

Отправка электронной почты осуществляется после сохранения ().

Другие вопросы по тегам