Testé sur Django 2.0 +
Si vous souhaitez voir toutes les autorisations dont dispose l'utilisateur connecté, sur votre modèle (.html), imprimez:
{{ perms.app_name }}
Ou
{{ perms }}
Afin de vérifier si l'utilisateur a l'autorisation, utilisez:
{% if perms.app_name.change_model_name_lower_cased %}
Par exemple :
{% if perms.Utilization.change_invoice %}
Ici: L' utilisation est le nom de mon application. La facture est un nom de modèle.
Notez qu'en général, il y aura 4 types d'autorisations:
- modifier [Par exemple, Utilization.change_projectemail]
- afficher [Par exemple, Utilization.view_invoice]
- supprimer [Par exemple, Utilization.delete_invoicetype]
- ajouter [Par exemple, Utilization.add_invoicetype]
De plus, si vous souhaitez voir toutes les autorisations d'un utilisateur en raison des groupes auxquels il appartient, lancez le shell Django ...
user = User.objects.get(username='somename')
user.get_group_permissions()
Ici, toutes les autorisations répertoriées sont dues aux groupes auxquels il appartient.