Протестировано на Django 2.0 +
Если вы хотите увидеть все разрешения, которые есть у вошедшего в систему пользователя, в вашем шаблоне (.html) выведите:
{{ perms.app_name }}
Или
{{ perms }}
Чтобы проверить, есть ли у пользователя разрешение, используйте:
{% if perms.app_name.change_model_name_lower_cased %}
Например:
{% if perms.Utilization.change_invoice %}
Здесь: Использование - это имя моего приложения.Счет-фактура - это название модели.
Обратите внимание, что в общем случае будет 4 вида разрешений:
- изменить [Например, Utilization.change_projectemail]
- просмотреть [Например,Utilization.view_invoice]
- delete [Например, Utilization.delete_invoicetype]
- add [Например, Utilization.add_invoicetype]
Также, если вы хотите увидеть всеразрешения, которые имеет пользователь из-за групп, к которым он принадлежит, запуск оболочки Django ...
user = User.objects.get(username='somename')
user.get_group_permissions()
Здесь все перечисленные разрешения относятся к группам, к которым он принадлежит.