2011-05-09 109 views
1

當運行這個函數來驗證驗證碼鍵和值我不能夠返回 它顯示錯誤這樣 「AttributeError的:‘布爾’對象有沒有屬性‘STATUS_CODE’」Python的返回功能錯誤

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 
+0

代碼摘錄中的status_code在哪裏? – GWW 2011-05-09 18:03:33

+1

視圖應該返回HttpResponse對象,而不是布爾值。你試圖解決的問題究竟是什麼? – sdolan 2011-05-09 18:10:39

回答

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) 

我不是100%地肯定導入行,但它的東西非常相似。

0

我不太瞭解Django,但它似乎期望您返回response object而不是bool值(True/False)。

也許你的代碼應該更喜歡這樣的:

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