Python 返回函数错误

1 投票
2 回答
2133 浏览
提问于 2025-04-16 17:18

在运行这个函数来验证验证码的键和值时,我无法返回结果,出现了这样的错误:“AttributeError: 'bool'对象没有'status_code'这个属性”。

def validate(request):
 id=request.GET.get('id','')
 key=request.GET.get('key','') 
 captchavalue = mc.get(str(id))

 if captchavalue == key:

     return True

 else:

     return False

2 个回答

0

我对Django了解不多,但看起来它希望你返回一个响应对象,而不是一个布尔值(真/假)。

也许你的代码应该像这样:

if captchvalue == key:
    return HttpResponse('HTML Page saying OK')
else:
    return HttpResponse('HTML Page saying Error')
2

通过阅读代码和错误信息,我猜测 validate 是一个视图。视图必须始终返回一个 HttpResponse 对象。所以如果你想返回一个表示布尔值的响应,用来判断 captchavalue == key 是否成立,可以这样做:

from django.http import HttpResponse

def validate(request):
 id=request.GET.get('id','')
 key=request.GET.get('key','') 
 captchavalue = mc.get(str(id))

 return HttpResponse(captchavalue == key)

我对导入的那一行不是百分之百确定,但应该是类似的东西。

撰写回答