def save(self): token_generator = PasswordResetTokenGenerator() t = get_template('account/forgot/password_reset_email.html') c = { 'request': self.request, 'uid': int_to_base36(self.user_cache.id), 'user': self.user_cache, 'token': token_generator.make_token(self.user_cache), } send_mail(u"密码重设", t.render(c), None, [self.user_cache.email])
def confirm(request, uidb36=None, token=None): assert uidb36 is not None and token is not None try: uid_int = base36_to_int(uidb36) except ValueError: raise Http404 user = get_object_or_404(User, id=uid_int) token_generator = PasswordResetTokenGenerator() form = SetPasswordForm(None) if token_generator.check_token(user, token): validlink = True if request.is_post(): form = SetPasswordForm(user, request.POST) if form.is_valid(): form.save() else: validlink = False return 'account/forgot/confirm.html', locals()