daf--自定义封装返回response对象及猴子补丁概念

自定义封装response对象

# 自己封装一个CommonResponse对象,使用方法如下
return CoomonResponse('100','成功',boo_ser.data)
return CoomonResponse('101','验证失败',boo_ser.errors)


# 1. 自已2b版:太固定了很不好,没办法传原来response的其他参数
from rest_framework.response import Response
class CommonResponse(Response):
    def __init__(self, status, msg, data):
        self.status = status
        self.msg = msg
        self.data = data
        super().__init__(self.get_dict)
     
    @property
    def get_dict(self):
        return {'status': self.status, 'msg': self.msg, 'data': self.data}
    
    
# 2.老师高级通用版
from rest_framework.response import Response
class APIResponse(Response):
    def __init__(self, code=100, msg='成功', data=None, status=None, headers=None, **kwargs):
        dic = {'code': code, 'msg': msg}
        if data:
            dic['data'] = data
        dic.update(kwargs)  # 可以灵活的添加,需要返回的键值对
        super().__init__(data=dic, status=status, headers=headers)

猴子补丁

# 程序运行的过程中,动态的替换对象的属性或方法
上一篇:nginx调优


下一篇:下拉框,列表框