如何在应用程序中使用仅限组的权限?
我有一个在group1中的用户。
我打算获得获得许可的许可。
怎么做?
class home(LoginRequiredMixin, View):
login_url = '/login/'
def get(self, request):
if request.user.has_perm('group1'):
return render(request, 'index.html')
答案 0 :(得分:0)
成为群组成员与拥有权限不同。要检查组group1
中的用户,您可以执行以下操作:
if self.request.user.groups.filter(name='group1').exists():
您可能会发现UserPassesTestMixin
有用。
# It's recommended to use CamelCase for class based view names,
# i.e. Home instead of home
class Home(UserPassesTestMixin, View):
login_url = '/login/'
def test_func(self):
# Use self.request.user.is_authenticated() in Django <= 1.9
return self.request.user.is_authenticated and self.request.user.groups.filter(name='group1').exists()
def get(self, request):
return render(request, 'index.html')