Testato su Django 2.0 +
Se vuoi vedere tutte le autorizzazioni di cui dispone l'utente che ha effettuato l'accesso, sul tuo modello (.html), stampa:
{{ perms.app_name }}
O
{{ perms }}
Per verificare se l'utente dispone dell'autorizzazione, utilizzare:
{% if perms.app_name.change_model_name_lower_cased %}
Per esempio :
{% if perms.Utilization.change_invoice %}
Qui: L' utilizzo è il nome della mia app. La fattura è un nome di modello.
Nota che in generale ci saranno 4 tipi di autorizzazioni:
- modifica [Es. Utilization.change_projectemail]
- visualizza [Es. Utilization.view_invoice]
- elimina [Es. Utilization.delete_invoicetype]
- aggiungi [Es. Utilization.add_invoicetype]
Inoltre, se vuoi vedere tutte le autorizzazioni di un utente a causa dei gruppi a cui appartiene, avvia la shell Django ...
user = User.objects.get(username='somename')
user.get_group_permissions()
Qui, tutte le autorizzazioni elencate, sono dovute ai gruppi a cui appartiene.