【问题标题】:Django Authorization: Redirecting to a 403 pageDjango 授权:重定向到 403 页面
【发布时间】:2016-05-21 09:35:31
【问题描述】:

我的问题是:

在默认 Django 中,当注销的用户单击或选择他们无权查看的链接(由 Django 定义)时,默认情况下他们会被重定向到管理登录页面。我将如何更改此重定向,以便为用户提供 403 禁止而不是仅提示他们登录?

我专门在需要权限才能查看的视图上使用了装饰器@permission_required。这是我的views.py中典型视图的样子:

from django.contrib.auth.decorators import permission_required

...

    @permission_required('erl.compile')
    def compile_robot(request, robot_id):
        robot = models.Robot.objects.get(id=robot_id, deleted=False)
        with set_message(request, "Compile Successful"):
            robot.compile()
        return redirect('robot', robot_id=robot_id)

所以,我的问题是我能否以某种方式让 @permission_required 装饰器重定向到 403 页面而不是登录屏幕。

我正在使用 Django 版本 1.8 任何帮助将不胜感激!

【问题讨论】:

    标签: python django web


    【解决方案1】:
    @permission_required('erl.compile',raise_exception=True)
    

    【讨论】:

    • 一个文档链接,以便在哪里导入 @permission_required 装饰器会很棒。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 2013-05-04
    • 2016-09-03
    • 2012-03-20
    • 1970-01-01
    • 2011-02-04
    相关资源
    最近更新 更多