我该如何在Django提出回应呢?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

我想做以下几点:

raise HttpResponseForbidden()

但我明白错误:

exceptions must be old-style classes or derived from BaseException, not HttpResponseForbidden

我该怎么做?

提问于
用户回答回答于

从视图中返回它,就像任何其他响应一样。

from django.http import HttpResponseForbidden

return HttpResponseForbidden()
用户回答回答于

如果要引发异常,可以使用:

from django.core.exceptions import PermissionDenied
raise PermissionDenied

相对于重测HttpResponseForbidden,提高PermissionDenied导致使用403.html模板,或者可以使用中间件显示自定义的“禁止”视图。

扫码关注云+社区