Триггер сброса пароля электронной почты в 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'})
Отправка электронной почты осуществляется после сохранения ().