Как отобразить роли и разрешения django в пользовательской приборной панели

Я пытаюсь иметь роли, группы и разрешения в моей пользовательской панели администратора (не в админке django), чтобы назначать роли, группы и разрешения. Страница разрешений в админке django выглядит так, как показано на рисунке ниже. Я хочу иметь точно такие же разрешения в моем шаблоне.

enter image description here

В других фреймворках, таких как laravel, это прекрасно сделано с помощью пакета Spatie. Есть ли подобный пакет и в Django или мне придется писать каждую логику самому. Или, что еще лучше, могу ли я запросить разрешения и группы Django-admin и отобразить их в моем шаблоне панели администратора.

Модели разрешений и групп в Django могут быть импортированы:

from django.contrib.auth.models import Permission, Group

они являются обычными моделями, как и любые другие, поэтому вы можете запросить их:

Permission.objects.all()

Вы также можете создать другие разрешения:

from myapp.models import BlogPost
from django.contrib.auth.models import Permission
from django.contrib.contenttypes.models import ContentType

content_type = ContentType.objects.get_for_model(BlogPost)
permission = Permission.objects.create(
    codename='can_publish',
    name='Can Publish Posts',
    content_type=content_type,
)

Все, что вам нужно сделать, это создать конечные точки для листинга, добавления и любых других требований, которые могут вам понадобиться.

Подробнее о Django docs: Программное создание разрешений

Вернуться на верх