CBV如何新增裝飾器?
阿新 • • 發佈:2022-03-15
目錄
一:CBV如何新增裝飾器
1.CBV中django不建議直接給類的方法加裝飾器
CBV中django不建議你直接給類的方法加裝飾器
無論該裝飾器能都正常給你 都不建議直接加
2.CBC新增裝飾器的三種方法
方式1:指名道姓 @method_decorator(login_auth) 方式2(可以新增多個針對不同的方法加不同的裝飾器) @method_decorator(login_auth,name='get') @method_decorator(login_auth,name='post') 方式3:它會直接作用於當前類裡面的所有的方法 下面的方法都會有login_auth @method_decorator(login_auth) def dispatch(self, request, *args, **kwargs): return super().dispatch(request,*args,**kwargs) # 需要匯入模組 from django.utils.decorators import method_decorator
3.CBV新增裝飾器實戰
from django.views import View from django.utils.decorators import method_decorator # @method_decorator(login_auth,name='get') # 方式2(可以新增多個針對不同的方法加不同的裝飾器) # @method_decorator(login_auth,name='post') class MyLogin(View): @method_decorator(login_auth) # 方式3:它會直接作用於當前類裡面的所有的方法 下面的方法都會有login_auth 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請求')