Python Django-didn';t返回HTTPResponse对象

Python Django-didn';t返回HTTPResponse对象,python,django,Python,Django,对不起,如果我的英语不好,但如果你需要问题,我在这里:) 我在Django中看到了很多关于HttpResponse对象的答案,但我无法解决它 通常情况下,用户插入其电子邮件地址以接收有关其新密码的电子邮件 def forgottenPwdEmail(request): if request.method == 'POST': form = PasswordResetRequestForm(request.POST) user = User.objects.

对不起,如果我的英语不好,但如果你需要问题,我在这里:)

我在Django中看到了很多关于HttpResponse对象的答案,但我无法解决它

通常情况下,用户插入其电子邮件地址以接收有关其新密码的电子邮件

def forgottenPwdEmail(request):
    if request.method == 'POST':
        form = PasswordResetRequestForm(request.POST)
        user = User.objects.get(username=request.user.username)
        user.confirmed = True
        user.save()
        sendResetPasswordMail(user, request.META['HTTP_HOST'])
    else:
        form = PasswordResetRequestForm()
        return render(request, 'front/reset_password_form.html', {'form': form})
显示这些错误后:“视图”未返回HttpResponse对象。它没有返回任何结果。我无论如何都可以接收邮件,所以问题出在这个函数中,但我无法解决它


如果您有一些想法,我是开放的:)

这是因为您的视图没有返回对POST请求的响应。 当电子邮件成功发送时,您应该添加类似于page的内容,如:

def forgottenPwdEmail(request):
    if request.method == 'POST':
        form = PasswordResetRequestForm(request.POST)
        user = User.objects.get(username=request.user.username)
        user.confirmed = True
        user.save()
        sendResetPasswordMail(user, request.META['HTTP_HOST'])

        return redirect('/password-reset-email-sent/')
     ......

这是因为您的视图没有返回POST请求的响应。 当电子邮件成功发送时,您应该添加类似于page的内容,如:

def forgottenPwdEmail(request):
    if request.method == 'POST':
        form = PasswordResetRequestForm(request.POST)
        user = User.objects.get(username=request.user.username)
        user.confirmed = True
        user.save()
        sendResetPasswordMail(user, request.META['HTTP_HOST'])

        return redirect('/password-reset-email-sent/')
     ......

您的if语句中缺少一个返回

def forgottenPwdEmail(request):
    if request.method == 'POST':
        form = PasswordResetRequestForm(request.POST)
        user = User.objects.get(username=request.user.username)
        user.confirmed = True
        user.save()
        return sendResetPasswordMail(user, request.META['HTTP_HOST'])
    else:
        form = PasswordResetRequestForm()
        return render(request, 'front/reset_password_form.html', {'form': form})
我假设sendResetPasswordMail也返回HttpResponse


希望这对您有所帮助

您的if语句中缺少一个返回

def forgottenPwdEmail(request):
    if request.method == 'POST':
        form = PasswordResetRequestForm(request.POST)
        user = User.objects.get(username=request.user.username)
        user.confirmed = True
        user.save()
        return sendResetPasswordMail(user, request.META['HTTP_HOST'])
    else:
        form = PasswordResetRequestForm()
        return render(request, 'front/reset_password_form.html', {'form': form})
我假设sendResetPasswordMail也返回HttpResponse

希望这有帮助