玖零后 发表于 2023-10-23 13:22:28

CBV添加装饰器的三种方式

from django.views import View
from django.utils.decorators import method_decorator
"""
CBV中django不建议你直接给类的方法加装饰器
无论该装饰器能都正常给你 都不建议直接加
"""

# @method_decorator(login_auth,name='get')# 方式2(可以添加多个针对不同的方法加不同的装饰器)
# @method_decorator(login_auth,name='post')
class MyLogin(View):
    @method_decorator(login_auth)# 方式3:它会直接作用于当前类里面的所有的方法
    def dispatch(self, request, *args, **kwargs):
      return super().dispatch(request,*args,**kwargs)
    # @method_decorator(login_auth)# 方式1:指名道姓
    def get(self,request):
      return HttpResponse("get请求")

    def post(self,request):
      return HttpResponse('post请求')
来源:https://www.cnblogs.com/piggthird/p/17780252.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: CBV添加装饰器的三种方式