Разрешение пользователя Django на генерацию определенного представления в зависимости от группы пользователей

Я новичок в разрешении пользователей Django и настраиваю его в первый раз. Мне нужно генерировать различные представления после того, как пользователь вошел в систему. Генерируемые представления зависят от группы, к которой принадлежит пользователь.

Допустим, у нас есть два пользователя user1 и user2

user1 принадлежит к группе1

user2 принадлежит к группе1 и группе2

Для пользователя1 я хочу вывести представление, специфичное для группы1.

Для пользователя2 отображаемое представление должно иметь содержимое, специфичное для группы1 и группы2

В моем текущем views.py я могу только определить, вошел ли пользователь в систему, и если это так, то страница staffLoginIndex.html будет отображена.

from django.shortcuts import render
from django.views import View
from django.contrib.auth.mixins import LoginRequiredMixin

# Create your views here.
class StaffLoginIndexView(LoginRequiredMixin, View):
    login_url = '/accounts/login/'

    def get(self, request, *args, **kwargs):
        context = dict()
        context['user'] = request.user
        return render(request, template_name='staff/staffLoginIndex.html', context=context)

Вы можете получить доступ к группе пользователей, используя request.user.groups.all() и он вернет QuerySet. Затем вы можете настроить свой шаблон в соответствии с каждой группой пользователей.

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