我需要实现用户组的用户权限(非常类似于facebook组).例如,每个组都可以有具有以下权限的成员:can_post、can_delete、can_ban等.当然,一个用户可以是多个组的成员,并且组可以有多个具有不同权限的不同用户.
我需要实现用户组的用户权限(非常类似于facebook组).例如,每个组都可以有具有以下权限的成员:can_post、can_delete、can_ban等.当然,一个用户可以是多个组的成员,并且组可以有多个具有不同权限的不同用户.
Django有一个内置的群组系统.每当你有这样的问题,我推荐searching the Django docs个,内容广泛、有用,而且写得很好.
只要您使用的是django.contrib.auth
应用程序,您就可以访问群组.然后,您可以将权限分配给这些组.
from django.contrib.auth.models import User, Group, Permission
from django.contrib.contenttypes.models import ContentType
content_type = ContentType.objects.get(app_label='myapp', model='BlogPost')
permission = Permission.objects.create(codename='can_publish',
name='Can Publish Posts',
content_type=content_type)
user = User.objects.get(username='duke_nukem')
group = Group.objects.get(name='wizard')
group.permissions.add(permission)
user.groups.add(group)