Как отобразить роли и разрешения django в пользовательской приборной панели
Я пытаюсь иметь роли, группы и разрешения в моей пользовательской панели администратора (не в админке django), чтобы назначать роли, группы и разрешения. Страница разрешений в админке django выглядит так, как показано на рисунке ниже. Я хочу иметь точно такие же разрешения в моем шаблоне.
В других фреймворках, таких как 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: Программное создание разрешений