def forgot_passwd(request):
"""Password email page / post endpoint."""
if request.method == 'POST' and request.POST.get('email'):
try:
user = User.objects.get(email=request.POST['email'])
except (User.DoesNotExist, ValueError):
return HttpResponseNotFound("There isn't a user with that email address.")
try:
user.password_reset_email(request)
except:
return HttpResponseBadRequest("There was an error submitting that.")
return HttpResponse("Success! Check your emails, it should have been sent from \"{0}\".".format(settings.DEFAULT_FROM_EMAIL))
if request.GET.get('token'):
user = User.get_from_passwd(request.GET['token'])
if not user:
raise Http404()
if request.method == 'POST':
if not request.POST['password'] == request.POST['password_again']:
return HttpResponseBadRequest("Your passwords don't match.")
user.set_password(request.POST['password'])
user.save()
return HttpResponse("Success! Now you can log in with your new password!")
return render(request, 'closedverse_main/forgot_reset.html', {
'title': 'Reset password for ' + user.username,
#'classes': ['no-login-btn'],
})
return render(request, 'closedverse_main/forgot_page.html', {
'title': 'Reset password',
#'classes': ['no-login-btn'],
})
评论列表
文章目录