python wraps_Python 类装饰器中如何使用 functools.wraps 保留原函数的属性?

wuwukai007

2019-08-12 17:03:40 +08:00

def __call__(self,func):

print(self,func)

@functools.wraps(func)

def hander(selff,request,*args,**kwargs):

print(selff)

try:

token = request.COOKIES.get('token')

payload =selff. _check_payload(token=token)

user = selff._check_user(payload=payload)

except Exception as e:

# r = Response({'code': 400, 'message': e.detail[0]})

r = Response({'code': 400, 'message': str(e)})

# r.set_cookie('token','111')

return r

else:

resp = func(selff, request, *args, **kwargs)

try:

new_token = selff.validate({'token':token})

except Exception as e:

return Response({'code':'令牌更新错误'})

else:

resp.set_cookie('token',new_token['token'])

return resp

return hander

@check_token('1')

def list(self, request, *args, **kwargs):

resp = super(generics.ListCreateAPIView,self).list(request,*args,**kwargs)

return resp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值