2013-08-25 3 views
0

장고에서 다른 사용자 인증에 관한 질문이 있습니다.django 다른 사용자 인증

두 종류의 사용자가 있고 서로 다른 페이지 나보기에 다른 액세스 권한을 부여하고 싶다고 가정합니다. 로그인 사용자와 방문자를 구분하기 위해 @login_required가 있다는 것을 알고 있습니다. 두 가지 종류의 로그인 한 사용자를 구별하는 방법을 궁금합니다. @login_required를 사용하는 경우 해당 사용자가 어느 그룹에 속해 있는지 확인하기 위해 다른 확인을해야합니다. 이는 문제를 해결하는 좋은 방법이 아닐 수 있습니다.

제안 사항? 대단히 감사합니다!

+0

사용중인'django '의 버전은 무엇입니까? –

답변

0

이 도움이

if request.user.is_authenticated(): 
    #code..... 
else: 
    #code.... 

또는

if request.user.is_anonymous: 
    #code..... 
else: 
    #code.... 

희망에 의해 확인하실 수 있습니다!

0
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)