我正在寻找一种方法来拥有类似的东西:
return HttpResponseForbiddenRedirect(reverse("view_name"))
重定向到视图(及其名称)但仍然抛出 403 错误的 HttpResponse
我尝试做类似的事情:
class HttpResponseForbiddenRedirect(HttpResponse):
def __init__(self, redirect_to):
super(HttpResponseForbiddenRedirect, self).__init__()
self['Location'] = iri_to_uri(redirect_to)
self.status_code = 403
但这没有用。由于某种原因我不明白,我没有得到任何内容
它不起作用,因为你不能得到 403 响应also如同 302 响应一样进行操作。
The HTTP规范告诉浏览器如何处理某些状态代码,因此收到 403 的浏览器不会像处理 302 那样费心去查看是否有 Location 标头。
如果你想将某人从 X 重定向到 Y,因为他们不允许看到 X,那么只需发出标准 302,并执行诸如设置消息(使用 django.contrib.messages)之类的操作来通知用户为什么他们'已被重定向,或将他们重定向到解释正在发生的情况的页面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)