Python 用户组和权限

Python 用户组和权限,python,django,django-models,django-permissions,usergroups,Python,Django,Django Models,Django Permissions,Usergroups,我需要为用户组实现用户权限(非常类似于facebook组)。例如,每个组都可以有具有以下权限的成员:can_post、can_delete、can_ban等。当然,一个用户可以是多个组的成员,并且组可以有多个具有不同权限的不同用户。 这个功能需要什么型号?Django有一个内置的群组系统。无论何时你有这样的问题,我都推荐,内容广泛,很有帮助,而且写得很好 只要您使用的是django.contrib.auth应用程序,您就可以访问组。然后,您可以为这些组分配权限 from django.contr

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

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)

您通常将这段代码放在哪个文件中?上面的代码创建记录,因此您可以在shell中运行这类代码。如果您想分发或部署应用程序,则需要对其进行设置,以便保存此初始数据。我相信你也可以在网站的管理员中修改它们。是的,但是你如何部署它呢?固定装置已折旧:-?根据当前文档,固定装置似乎仍然可以接受:事实上,似乎已删除折旧通知。因此Django人根本不清楚支持的实际内容。自定义权限可以在模型的
Meta
类中定义,并将在
manage.py migrate
上自动创建。更多详情请参阅。