【问题标题】:django type object Http404 has no attribute getdjango类型对象Http404没有属性get
【发布时间】:2015-10-25 10:32:44
【问题描述】:

我有这个代码:

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

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

type object 'Http404' has no attribute 'get'

【问题讨论】:

    标签: python django


    【解决方案1】:

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

    最终我不得不raise Http404 而不是return 它!

    【讨论】:

    • 感谢您让我免于在屏幕上撞头。
    • 谢谢!我返回 Http404 也没有意识到这是一个例外,哈哈。
    【解决方案2】:

    return Http404() ==> 是错误的

    raise 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()
    

    【讨论】:

    • 请在代码中添加格式,方便其他人理解和区分代码sn-p
    猜你喜欢
    • 2017-10-14
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 2017-11-12
    相关资源
    最近更新 更多