我需要实现用户组的用户权限(非常类似于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)

Django相关问答推荐

如何在Django中显示文件大小

DjangoAdmin与外部数据库的模型无法保存或过滤

为什么 Django 在错误的目录中寻找模板?

Django中的 联合(Union) 和相交(Intersect)

Django 模板中的 Handlebars.js

ModelForm 的 Django TextField max_length 验证

删除所有表的django命令是什么?

如何迭代模板中 SelectField 的选项?

如何按名称设置 django 模型字段?

Matplotlib - Tcl_AsyncDelete:异步处理程序被错误的线程删除?

Django 有 SmallIntegerField 的原因是什么?

如何以编程方式对 Django 中的用户进行身份验证?

如何使用 Requests 库执行 HTTP DELETE 请求

Django:如何过滤属于特定组的用户

django - 使用 get_or_create 自动创建用户时设置用户权限

如何在 django 中使用更少的 css?

用于创建和更新的基于 Django 类的视图

想要在 Django 测试中禁用信号

Django - 指定 Django 管理员应该使用哪个模型管理器

Django REST 框架中的每个字段权限