用户组和权限

duk*_*kem 31 python django usergroups django-models django-permissions

我需要为用户组实现用户权限(非常类似于facebook组).例如,每个组可以拥有具有以下权限的成员:can_post,can_delete,can_ban等.当然,一个用户可以是许多组的成员,并且组可以拥有许多具有不同权限的不同用户.我需要什么型号才能使用此功能?

Jor*_*ter 64

Django有一个内置的组系统.每当你有这样的问题时,我建议你搜索一下广泛,有用且写得很好的Django文档.

只要您使用该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)
Run Code Online (Sandbox Code Playgroud)

  • 你通常把这段代码放在哪个文件中? (6认同)
  • 自定义权限可以在模型的"Meta"类中定义,它们将在`manage.py migrate`中自动创建.[docs](https://docs.djangoproject.com/en/dev/topics/auth/customizing/#custom-permissions)中的更多详细信息. (4认同)
  • 是的,但你如何部署这个?固定装置已折旧: - ? (2认同)