由于原本django对权限控制只有表级别,因此我们需要寻找一种粒度更细的方法来对权限进行控制,就此guardian库是一种合适的选择。但是guardian库所提供的功能欠缺,所以接下来我将提供使用和重写的一些教程。
正常使用
安装及配置
pip install django-guardian
INSTALLED_APPS = [
'guardian',
]
AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend', # django所带的
'guardian.backends.ObjectPermissionBackend', # guardian的
]
使用
重写
Admin
如果需要在后台管理权限,需要重写GuardedMixin。