阅读背景:

12.27 连表深度查询和ListSerializer类

来源:互联网 

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



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: