'模型表格'没有属性cleaning_data

时间:2016-04-29 13:55:12

标签: django

我想发送一封确认电子邮件,以便更改用户的密码。

我在Django中遇到了一个经典问题,服务器返回此错误:

'模型表格'没有属性cleaning_data

def forgottenPwdEmail(request):
    if request.method == 'POST':
        form = PasswordResetRequestForm(request.POST)
        if User.objects.filter(email = form.cleaned_data['email']).exists() and form.is_valid():
            user = form.cleaned_data['email']
            sendResetPasswordMail(user, request.META['HTTP_HOST'])
            return redirect('passwordConfirmation')
    else:
        form = PasswordResetRequestForm()
    return render(request, 'front/reset_password_form.html', {'form': form})

如果我在Stackoverflow中查看几个答案,我就不会调用 form.is_valid()方法。我继续我的搜索,但我的代码昨天工作,但只有当用户连接时。当用户忘记密码时,他无法连接他的会话。

对不起我的英语,我不能说得很好,但如果你愿意,我可以给你更多细节:)

1 个答案:

答案 0 :(得分:3)

您在致电cleaned_data之前尝试访问form.is_valid()

if User.objects.filter(email = form.cleaned_data['email']).exists() and form.is_valid():

如果您更改订单,我认为您将获得cleaned_data

if form.is_valid() and User.objects.filter(email = form.cleaned_data['email']).exists():

在后面的情况下,首先验证表格,如果它有效,您将在if条件的第二个子句中提供该数据。