Разрешение пользователя 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.
Затем вы можете настроить свой шаблон в соответствии с каждой группой пользователей.