Как назначить права пользователям в django?

Я создаю проект django ERP, в котором будет несколько пользователей, admin, user, manager и т.д. Каждый из этих пользователей имеет отдельные учетные данные для входа в систему. У каждого пользователя есть отдельная панель управления. Я использую локальную базу данных для функции входа в систему.

Я хочу дать доступ каждому пользователю из панели администратора, например, просматривать, редактировать и удалять, разрешить им скачивать csv-файл. Я пытаюсь сделать страницу привилегий для каждого пользователя в панели администратора. Когда радиокнопка или флажок включаются, соответствующий пользователь должен получить доступ к привилегии.

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

https://docs.djangoproject.com/en/5.0/topics/auth/default/#permissions-and-authorization

Я использовал его в своем проекте для управления различными типами пользователей

Создание группы

group_name = 'manager'
group_obj = Group.objects.filter(name=group_name)
if not group_obj:
    Group.objects.create(name=group_name)

Управление доступом пользователей к представлению

@api_view(['GET'])
def my_view(request):
    if request.user.is_authenticated and request.user.groups.filter(name__in=['manager']).exists():
        print('Access granted')
    else:
        print('Access denied')
Вернуться на верх