Django - 重定向到登录页面与 403

Tom*_*mas 7 django login

为什么 Django 在尝试访问受权限保护的页面时会将用户重定向到登录页面?提高403不是更有意义吗?然后我可以在 403.html(使用自定义中间件)中向用户显示有意义的消息,说他们没有执行操作的权限。此外,我还能够识别用户甚至不应该首先看到的视图链接,或者用户试图访问被禁止的资源。

Dan*_*olo 3

如果您谈论的是login_required装饰器,则没有理由必须使用它。您可以编写一个类似的装饰器来完成您正在寻找的事情(返回 403 响应)。

不幸的是,login_required装饰器代码实际上有些复杂,因此根据您的需要进行复制/修改并不简单,因为重定向部分实际上位于user_passes_test它们使用的函数内。