django rest framework自定义返回格式
Posted metasequoia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django rest framework自定义返回格式相关的知识,希望对你有一定的参考价值。
一、默认response
# view from rest_framework.generics import ListAPIView from .serializer import IdcSerializer from .models import Idc class IdcList(ListAPIView): queryset = Idc.objects.all() serializer_class = IdcAllSerializer
http://127.0.0.1:8000/api/asset/idcall/?format=json
二、自定义response
实际开发中我们需要返回更多的字段比如
"code": 0, "data": [], # 存放数据 "msg": "", "total": ""
这时候就需要重写list方法
# view from rest_framework.generics import ListAPIView from rest_framework.response import Response class IdcList(ListAPIView): def list(self, request): queryset = Idc.objects.all() response = ‘code‘: 0, ‘data‘: [], ‘msg‘: ‘success‘, ‘total‘: ‘‘ serializer = IdcSerializer(queryset, many=True) response[‘data‘] = serializer.data response[‘total‘] = len(serializer.data) return Response(response)
PS:
Python 3.7.4
djangorestframework 3.10.1
以上是关于django rest framework自定义返回格式的主要内容,如果未能解决你的问题,请参考以下文章
python 使用Django Rest Framework在Django中自定义用户实现
Django rest framework 之 DictField、ListField、自定义字段