Python 我将“所需权限”设置为;是“U员工”;我得到了错误403权限被拒绝

Python 我将“所需权限”设置为;是“U员工”;我得到了错误403权限被拒绝,python,django,django-views,permission-denied,Python,Django,Django Views,Permission Denied,我用Django开发了一个webapp,我想用权限保护类视图。它应该只授权给管理员,所以我添加了以下内容: permission\u required='is\u staff' 但是当我尝试使用我的管理员配置文件访问视图时(我将他们的状态设置为staff),我得到了一个错误:403禁止,权限被拒绝 事实上,如果我尝试使用超级用户配置文件,它会起作用。所以我不明白为什么“is_员工”被认为是“is_超级用户” 感谢阅读permission\u required='is\u staff'未被识别为超

我用Django开发了一个webapp,我想用权限保护类视图。它应该只授权给管理员,所以我添加了以下内容:
permission\u required='is\u staff'

但是当我尝试使用我的管理员配置文件访问视图时(我将他们的状态设置为staff),我得到了一个错误:403禁止,权限被拒绝

事实上,如果我尝试使用超级用户配置文件,它会起作用。所以我不明白为什么“is_员工”被认为是“is_超级用户”


感谢阅读

permission\u required='is\u staff'
未被识别为超级用户。原因是超级用户(状态为
is\u superuser=True
)默认情况下将拥有系统的所有权限,因此超级用户将能够访问任意视图

如果您只想让管理员(超级用户)访问该视图

在函数视图中,可以执行此操作

    from django.contrib.auth.decorators import user_passes_test
    @user_passes_test(lambda u: u.is_superuser)
    def your_view():
在基于类的视图中,您可以使用

如果您想查看有关权限的更多详细信息,可以查看