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自定义返回格式的主要内容,如果未能解决你的问题,请参考以下文章

django rest framework自定义返回格式

python 使用Django Rest Framework在Django中自定义用户实现

Django rest framework 之 DictField、ListField、自定义字段

django-rest-framework 自定义视图集检索多个查找参数

Django Rest Framework 自定义身份验证

Django REST Framework 创建自定义用户