Django Admin Cookbook-18如何限制对Django Admin管理部分功能的使用

18.如何限制对Django Admin管理部分功能的使用?

你可以使用权限系统启用和限制对Django Admin后台部分功能的访问。添加模型时,默认情况下,Django会为其创建add添加, change修改以及delete删除三种权限。

可以在Admin后台中用这些权限来限制用户的访问。对于非超级管理员且没有权限的用户,后台会显示如下。

如果你添加一个权限user.user_permissions.add(Permission.objects.get(codename="add_hero")),则Admin后台会显示如下。

你可以通过更改以下方法,来添加更复杂的权限限制逻辑:

def has_add_permission(self, request):
    ...
def has_change_permission(self, request, obj=None):
    ...
def has_delete_permission(self, request, obj=None):
    ...
def has_module_permission(self, request):
    ...

返回目录

猜你喜欢

转载自www.cnblogs.com/superhin/p/12174607.html
今日推荐