zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    VSCode使用笔记
    python调用C++
    ubuntu下编译C++程序
    使用swig在python中调用C++
    VSCode调试data层时自身的一个bug
    MNN配置
    金融业务中的命名惯例
    Clang的线程安全分析静态工具
    gdb命名记录
    开发小结-产品类
  • 原文地址:https://www.cnblogs.com/metasequoia/p/11625351.html
Copyright © 2011-2022 走看看