类视图装饰器的使用--看了秒懂so easy

不啰嗦直接上代码用一个简单地例子理解

  • 首先定义一个装饰器
# 定义一个装饰器
def zhuangshiqi(func):
    def inner(request,*args,**kwargs):
        print("装饰内容1")
        ret = func(request,*args,**kwargs)
        print("装饰内容2")
        return ret
    return inner
  • 导入模块
from django.utils.decorators import method_decorator
  • 类视图
# 因为类视图要继承View 所以我们需要导入模块
from django.views import View
# 以下是第一种方法:加在类的上方,给所有请求方式添加装饰器格式:@method_decorator(装饰器函数名,name="dispatch)
# @method_decorator(zhuangshiqi,name="dispatch")  

# 以下是第二种方法:同样在类上放加,给指定的请求方法加,name="你想要的的请求方式"
# @method_decorator(zhuangshiqi,name="get")  
class IndexView(View):
    # 注意:类视图中的请求方式,以小写形式写
    # 第三种:想给谁装饰,就在哪个函数上面加 @method_decorator(装饰器函数名)

    @method_decorator(zhuangshiqi)
    def get(self,request):
        return HttpResponse("类视图get")

    def post(self,request):
        return HttpResponse("类视图post")

    @method_decorator(zhuangshiqi)
    def put(self,request):
        return HttpResponse("类视图put")
  • 类视图的路由
    url(r"^index/$", views.IndexView.as_view()),

最后用postman来验证不同的请求方式.用不同的请求方式,post就显示什么请求方式,而装饰的内容,如果在python解释器上面显示了,证明装饰成功!!!

where there is a will, there is a way !

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值