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

    template_name = 'obs/homepage.html' 

我想让此视图只能以登录用户访问。我怎样才能做到这一点?我见过django文档,但它是为了功能。如何使用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/login /”这个网址,如果他没有登录,但想访问“obs/homepage” – jef

+0

@jef看看设置,有一些默认值处理这个; https://docs.djangoproject.com/en/dev/ref/settings/#login-url –

相关问题