官方文档:https://django-guardian.readthedocs.io/en/stable/userguide/index.html
django 目前权限两种:
1.表级别,也是model,默认的表级别,add,delete,change
2.对象级别,也是field
虽加入了guardian,设计思路还是user,group,role,类似于linux的3 2 1
安装配置django-guardian:
pip install django-guardian
在INSTALLED_APPS变量中加入guardian:
INSTALLED_APPS = ( 'guardian',)
添加一个backend到AUTHENTICATION_BACKENDS中,这样django才会具有对对象的权限控制:
@H_502_24@AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', # django默认的backend 'guardian.backends.ObjectPermissionBackend',)在guardian中,还支持对匿名用户AnoymousUser的Object级别的权限控制,这种需求很常见,比方说允许匿名发言的论坛或者blog系统。要做到这一点需要在settings中加入:
@H_502_24@ANONYMOUS_USER_ID=-1接下来我们执行python manage syncdb.执行完毕之后,系统将会创建一个User实例,叫做AnonymouseUser。
完成了以上几点,guardian就被安装好了,可以开始使用了。
设置和使用对象权限:
参考文章:
https://www.cnblogs.com/esperyong/archive/2012/12/20/2825909.html