permission - login django python
Grupos de usuarios y permisos (1)
Necesito implementar derechos de usuario para grupos de usuarios (bastante similar a los grupos de Facebook). Por ejemplo, cada grupo puede tener miembros con derechos como: can_post, can_delete, can_ban, etc. Por supuesto, un usuario puede ser miembro de muchos grupos y el grupo puede tener muchos usuarios diferentes con diferentes derechos. ¿Qué modelos necesito para esta funcionalidad?
Django tiene un sistema integrado en grupos. Cada vez que tenga una pregunta como esta, le recomiendo buscar en los documentos de Django , que son extensos, útiles y están bien escritos.
Siempre que use la aplicación django.contrib.auth
, tiene acceso a grupos. A continuación, puede asignar permisos a esos grupos.
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)