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

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

Ответы [ 2 ]

12 голосов
/ 08 апреля 2011
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)
5 голосов
/ 08 апреля 2011

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

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

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

...