第一:
pip install djangorestframework
第二:
在setting.py文件中的app添加名为:
'rest_framework',
第三:再项目的APP下面新建名为(可以别的名字):serializers.py
第四:引入模型类到serializers.py,并在serializers.py中新建序列化类并定义要返回的字段
from rest_framework import serializers #引入序列化的模块 from ceshi.models import ceshiList,recordList #引入模型类 class ceshiListSer(serializers.ModelSerializer): detectionTime = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True) #用于重新设定时间的格式 class Meta: model = ceshiList fields=("id","ceshiname","number","statusList","detectionTime ") # fields="__all__" #可以像上面一样定义字段,也可以这样全部 class recordListSer(serializers.ModelSerializer): addTime = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True) class Meta: model = recordList fields = ("id", "ceshi2name", "addTime","ipList") # fields="__all__"
第五:在view.py中调用serializers.py中的类返回序列化的json
from ceshi.serializers import ceshiListSer,recordListSer from ceshi.models import ceshiList,recordList from django.http import JsonResponse #就简单使用一个进行说明 def ceshifunc(): ceshi = ceshiList.objects.all() #获取模型类对象集合 serializer = ceshiListSer(ceshi , many=True) #many=True 可以返回多条,如果没有添加,只返回第一条 return JsonResponse({"data": serializer.data}) #serializer.data是已经序列化的json数据
第六:如果前端需要不同样式的JSON格式,就需要在serializers.py中,再定义一个序列化类