Django—类视图使用装饰器

  • 类视图使用装饰器
    def my_decorator(func):
     def wrapper(request, *args, **kwargs):
     print('自定义装饰器被调用了')
     print('请求路径%s' % request.path)
     return func(request, *args, **kwargs)
     return wrapper
    class DemoView(View):
     def get(self, request):
     print('get方法')
     return HttpResponse('ok')
     def post(self, request):
     print('post方法')
     return HttpResponse('ok')

    # 为全部请求方法添加装饰器
    @method_decorator(my_decorator, name='dispatch')
    class DemoView(View):
     def get(self, request):
     print('get方法')
     return HttpResponse('ok')
     def post(self, request):
     print('post方法')
     return HttpResponse('ok')
    # 为特定请求方法添加装饰器
    @method_decorator(my_decorator, name='get')
    class DemoView(View):
     def get(self, request):
     print('get方法')
     return HttpResponse('ok')
     def post(self, request):
     print('post方法')
     return HttpResponse('ok')

    from django.utils.decorators import method_decorator
    # 为特定请求方法添加装饰器
    class DemoView(View):
     @method_decorator(my_decorator) # 为get方法添加了装饰器
     def get(self, request):
     print('get方法')
     return HttpResponse('ok')
     @method_decorator(my_decorator) # 为post方法添加了装饰器
     def post(self, request):
     print('post方法')
     return HttpResponse('ok')
     def put(self, request): # 没有为put方法添加装饰器
     print('put方法')
     return HttpResponse('ok')

     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值