Django:价值错误。 View没有返回HTTPResponseObject

时间:2015-11-20 10:31:16

标签: python django django-views

这是有问题的观点:

def index(request):
    if request.user.is_authenticated():
        HttpResponseRedirect('/dashboard')
    else:
        return render(request, 'index.html')

当我到达索引页面时,我明白了:

   ValueError at /

     

视图foobar.views.index没有返回HttpResponse对象。它   返回无。

这可能是什么问题?

2 个答案:

答案 0 :(得分:1)

您在查看该页面时是否经过身份验证?在这种情况下,您需要确保还返回HttpResponseRedirect对象:

def index(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect('/dashboard')
    else:
        return render(request, 'index.html')

否则你创建一个HttpResponseRedirect对象,但是你没有返回它,这意味着代码将继续,函数将返回None(这是所有函数/方法的默认返回值) Python)的

答案 1 :(得分:0)

if块中缺少返回。

def index(request):
if request.user.is_authenticated():
    return HttpResponseRedirect('/dashboard')
else:
    return render(request, 'index.html')