Как назначить права пользователям в 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')