给django视图类添加login_required

要将login_required装饰到view class的dispatch方法上,

因为dispatch方法为类方法,不是单个的函数,所以需要将装饰函数的装饰器 login_required转化为装饰类方法的装饰器,就要用到method_decorator .

from django.views.generic import View

from django.contrib.auth.decorator import login_required

from django.utils.decorators import method_decorator

class MyView(View):

  @method_decorator(login_required)

  def dispatch(self,*args,**kwargs):

    return super(MyView,self).dispatch(*args,**kwargs)

  def get(self,request):

    pass

猜你喜欢

转载自www.cnblogs.com/Ting-light/p/10115584.html