django不同用户身份验证
我有一个关于Django中不同用户身份验证的问题 假设我有两种类型的用户,我想给他们提供对不同页面或视图的不同访问权限。我知道需要@login_来区分登录用户和访问者。我只是想知道如何区分两种不同类型的登录用户。如果使用@login_required,我需要再次检查该用户是否属于任一组,这可能不是解决问题的好方法 有什么建议吗?万分感谢 您可以通过django不同用户身份验证,django,authentication,login,django-models,django-views,Django,Authentication,Login,Django Models,Django Views,我有一个关于Django中不同用户身份验证的问题 假设我有两种类型的用户,我想给他们提供对不同页面或视图的不同访问权限。我知道需要@login_来区分登录用户和访问者。我只是想知道如何区分两种不同类型的登录用户。如果使用@login_required,我需要再次检查该用户是否属于任一组,这可能不是解决问题的好方法 有什么建议吗?万分感谢 您可以通过 if request.user.is_authenticated(): #code..... else: #code.... 或
if request.user.is_authenticated():
#code.....
else:
#code....
或
希望这有帮助 您使用的是什么版本的
django
?
class MyModelDetailView(generic.DetailView):
model = MyModel
@login_required
def dispatch(self, *args, **kwargs):
return super(MyModelDetailView, self).dispatch(*args, **kwargs)
def get(self, request, *args, **kwargs):
object = super(MyModelDetailView, self).get_object()
context = super(MyModelDetailView, self).get_context_data(**kwargs)
user = self.request.user
if user.groups.filter(name='group1'):
context['group_info'] = object.group1_info #unique info for this group
elif user.groups.filter(name='group2'):
context['group_info'] = object.group2_info #unique info for this group
else:
context['group_info'] = object.anon_info
return render(request, self.template_name, context)
class MyModelDetailView(generic.DetailView):
model = MyModel
@login_required
def dispatch(self, *args, **kwargs):
return super(MyModelDetailView, self).dispatch(*args, **kwargs)
def get(self, request, *args, **kwargs):
object = super(MyModelDetailView, self).get_object()
context = super(MyModelDetailView, self).get_context_data(**kwargs)
user = self.request.user
if user.groups.filter(name='group1'):
context['group_info'] = object.group1_info #unique info for this group
elif user.groups.filter(name='group2'):
context['group_info'] = object.group2_info #unique info for this group
else:
context['group_info'] = object.anon_info
return render(request, self.template_name, context)