根据用户组生成特定视图的 Django 用户权限
Django user permission on generate specific view depending on user group
我是 Django 用户权限的新手并且是第一次设置它。我需要在用户登录后生成不同的视图。生成的视图取决于用户所属的组。
假设我们有两个用户 user1 和 user2
user1 属于 group1
user2属于group1和group2
对于 user1,我想呈现一个特定于 group1 的视图。
对于 user2,呈现的视图必须同时包含 group1 和 group2 的特定内容
在我当前的 views.py 中,我只能确定用户是否已登录,如果为真,将呈现页面 staffLoginIndex.html
。要检查用户属于哪个组,是否应该在实际中进行此检查get(self, request, *args, **kwargs)
?
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):
#Check which group the user belongs to
context = dict()
context['user'] = request.user
return render(request, template_name='staff/staffLoginIndex.html', context=context)
您可以使用 request.user.groups.all()
访问用户组
它将 return 一个 QuerySet
。
然后您可以根据每个用户组自定义您的模板。
我是 Django 用户权限的新手并且是第一次设置它。我需要在用户登录后生成不同的视图。生成的视图取决于用户所属的组。
假设我们有两个用户 user1 和 user2
user1 属于 group1
user2属于group1和group2
对于 user1,我想呈现一个特定于 group1 的视图。
对于 user2,呈现的视图必须同时包含 group1 和 group2 的特定内容
在我当前的 views.py 中,我只能确定用户是否已登录,如果为真,将呈现页面 staffLoginIndex.html
。要检查用户属于哪个组,是否应该在实际中进行此检查get(self, request, *args, **kwargs)
?
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):
#Check which group the user belongs to
context = dict()
context['user'] = request.user
return render(request, template_name='staff/staffLoginIndex.html', context=context)
您可以使用 request.user.groups.all()
访问用户组
它将 return 一个 QuerySet
。
然后您可以根据每个用户组自定义您的模板。