Django授权:重定向到403页面

时间:2016-02-10 20:29:27

标签: python django web

我的问题是:

在默认的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任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:1)

@permission_required('erl.compile',raise_exception=True)