Response二次封装
from rest_framework.response import Response
'''
return MyResponse(status=1,msg='error',results=[],token='a.b.c',http_status=400,exception=True)
Response模块的响应数据 data,最终数据results,Response模块需要向前台展示的一般有响应数据data(包括data里面的results),网络状态码status,是否异常exception
return Response(
data={
'status':1,
'msg':'error',
'results':[],
token:'a.b.c'
},
status=400,
exception=True
'''
class APIResponse(Response):
def __init__(self,status=0,msg='ok',results=None,http_status=None,
headers=None,exception=False,content_type=None,**kwargs):
#将status、msg、results、kwargs格式化成data
data={
'status':status,
'msg':msg,
}
#results只要不为空都是数据:False、0、''都是数据==》条件不能写if results
if results is not None:
data['results']=results
#将kwargs中额外的k-v数据添加data中 字典的update方法
data.update(**kwargs)
super().__init__(data=data,status=http_status,headers=headers,exception=exception,content_type=content_type)from rest_framework.response impo