django类型对象Http404没有属性get

时间:2015-10-25 10:32:44

标签: python django

我有这段代码:

if not selected_organization in request.user.organizations.all():
        return Http404

在返回http 404时我得到了这个:

type object 'Http404' has no attribute 'get'

2 个答案:

答案 0 :(得分:57)

我花了一段时间才弄明白,

最终我必须raise Http404而不是return

答案 1 :(得分:5)

返回Http404()==>是错误的

提高Http404()==>是正确的

((在_示例代码下))

def room_detail(request, pk):
    try:
        room = models.Room.objects.get(pk=pk)        
        return render(request, "rooms/detail.html", {"room": room})
    except models.Room.DoesNotExist:
        raiseHttp404()