2017-10-15 5 views
0
class HomePage(TemplateView): 

    template_name = 'obs/homepage.html' 

이보기를 로그인 한 사용자 만 액세스 가능하게하고 싶습니다. 어떻게해야합니까? 난 장고 문서를 본 적이 있지만 그것은 기능을했다.django login_required 메소드 사용 방법

답변

0

믹스 인을보기에 사용하는 경향이 있습니다.

from django.contrib.auth.decorators import login_required 
from django.utils.decorators import method_decorator 
from django.views.generic import TemplateView 

class LoginRequiredMixin(object): 
    @method_decorator(login_required) 
    def dispatch(self, *args, **kwargs): 
     return super(LoginRequiredMixin, self).dispatch(*args, **kwargs) 

class HomePage(LoginRequiredMixin,TemplateView): 
    template_name = 'obs/homepage.html' 
+0

정말 고마워. 그것은 효과가 있었지만 지금 다른 도움이 필요하다. 로그인하지 않은 상태에서 "obs/homepage"에 액세스하려는 경우 어떻게 사람을 "obs/login /"URL로 리디렉션 할 수 있습니까? – jef

+0

@jef 설정을 살펴보면이 문제를 처리하는 몇 가지 기본값이 있습니다. https://docs.djangoproject.com/en/dev/ref/settings/#login-url –