如何在django中提出禁止回复?
我想要做以下事情:
raise HttpResponseForbidden()
但我得到的错误:
exceptions must be old-style classes or derived from BaseException, not HttpResponseForbidden
我应该怎么做?
像任何其他响应一样从视图中返回。
from django.http import HttpResponseForbidden return HttpResponseForbidden()
如果你想提出exception,你可以使用:
from django.core.exceptions import PermissionDenied raise PermissionDenied
这是logging在这里:
https://docs.djangoproject.com/en/stable/ref/views/#the-403-http-forbidden-view
相对于回应HttpResponseForbidden
,引发PermissionDenied
会导致使用403.html
模板呈现错误,或者您可以使用中间件来显示自定义“禁止”视图。
正如伊格纳西奥·巴斯克斯 – 艾布拉姆斯所说:
from django.http import HttpResponseForbidden ... return HttpResponseForbidden()
然后,还提供一个名为“403.html”的合适的模板
PS应该是一个评论,但我没有足够的声誉发表评论