Implement Django SetPasswordForm


Django文档https://docs.djangoproject.com/en/3.2/topics/auth/default/#module-django.contrib.auth.forms

我在下面的代码中遇到一个错误。tuple' object has no attribute 'get'

def password_reset(request):
    if request.method == 'POST':
        form = SetPasswordForm(request.user)
        #Form.is_valid() is returning an error
        if form.is_valid():
            #Do this
        else:
            return (request, 'home/reset_password.html', {'form': form})
    form = SetPasswordForm(request.user)
    return render(request, 'home/reset_password.html', {'form': form})

您应该使用form = SetPasswordForm(request.user, request.POST)而不是form = SetPasswordForm(request.user)。因为您需要通过POST方法传递发送数据的用户的值,所以它们在request.POST中可用。您可以在GitHub源代码中检查实现情况。

最新更新