Проверено на 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]
- удалить [например, Utilization.delete_invoicetype]
- добавить [Например, Utilization.add_invoicetype]
Кроме того, если вы хотите увидеть все разрешения, которые пользователь имеет в связи с группами, к которым он принадлежит, запустите оболочку Django ...
user = User.objects.get(username='somename')
user.get_group_permissions()
Здесь все перечисленные разрешения принадлежат группам, к которым он принадлежит.