我有一个上下文项,这几乎是我站点中每个页面所必需的,但是它们需要特权访问。为了检索这些,我创建了一个自定义上下文处理器。如果请求中的用户已通过身份验证,并且没有访问他们正在查看的页面所需的上下文的权限,则我希望网站返回403,因此我尝试在上下文处理器中引发PermissionDenied
。
正如您可能已经猜到的那样,这并不奏效。基本上,该站点现在只是引发异常,而不是捕获异常并返回403。这不是我想要的行为。
是否有一种(不太容易破解的)方法来使上下文处理器导致Django网站返回403权限被拒绝的响应?