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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM