我的页面有以下视图来重置您的密码:
from django.contrib.auth.forms import PasswordChangeForm
def password_change(request):
if request.method == 'POST':
password_form = PasswordChangeForm(data=request.POST, user=request.user)
if password_form.is_valid():
password_form.save()
update_session_auth_hash(request, password_form.user)
messages.add_message(request, messages.SUCCESS, "Password reset.")
return redirect(reverse('elections:home'))
else:
messages.add_message(request, messages.ERROR, "Error with password reset.")
return redirect('/password/new/')
else:
password_form = PasswordChangeForm(user=request.user)
return render(request, 'registration/password_change.html', {
'form': password_form
})
我的一些用户报告说他们无法更改密码,但它对我有用。由于显而易见的原因,我无法询问他们的密码是什么,因此我需要向用户提供更多信息丰富的错误反馈。
我的理解是PasswordChangeForm
产生我可以访问的错误。这是真的吗,如果是这样,我如何在视图中访问这些错误以将它们添加到 Django 消息中?如果没有,我如何创建自己的表单来返回这些错误?