由于原本django对权限控制只有表级别,因此我们需要寻找一种粒度更细的方法来对权限进行控制,就此guardian库是一种合适的选择。但是guardian库所提供的功能欠缺,所以接下来我将提供使用和重写的一些教程。

正常使用

安装及配置

pip install django-guardian
INSTALLED_APPS = [
    'guardian',
]

AUTHENTICATION_BACKENDS = [
    'django.contrib.auth.backends.ModelBackend', # django所带的
    'guardian.backends.ObjectPermissionBackend', # guardian的
]

使用

重写

Admin

如果需要在后台管理权限,需要重写GuardedMixin。