Probado en Django 2.0 +
Si desea ver todos los permisos que tiene el usuario que inició sesión, en su plantilla (.html), imprima:
{{ perms.app_name }}
O
{{ perms }}
Para verificar si el usuario tiene permiso, use:
{% if perms.app_name.change_model_name_lower_cased %}
P.ej :
{% if perms.Utilization.change_invoice %}
Aquí: Utilization es el nombre de mi aplicación. Factura es un nombre de modelo.
Tenga en cuenta que, en general, habrá 4 tipos de permisos:
- cambiar [Ej. Utilization.change_projectemail]
- ver [Por ejemplo, Utilization.view_invoice]
- eliminar [Ej. Utilization.delete_invoicetype]
- añadir [Ej. Utilization.add_invoicetype]
Además, si desea ver todos los permisos que tiene un usuario debido a los grupos a los que pertenece, ejecute el shell de Django ...
user = User.objects.get(username='somename')
user.get_group_permissions()
Aquí, todos los permisos enumerados se deben a los grupos a los que pertenece.