AI-序列化-做接口
阿新 • • 發佈:2018-12-04
any ret error import bubuko inf rom src div
如果有多個字段,不能使用course.desc這種方式來傳數據,太麻煩了!所以使用drf的序列化組件!
做GET接口:
from rest_framework.response import Response # 和httpresponse一樣,增加了數據結構化
from rest_framework import serializers
class CourseSerializer(serializers.Serializer): title=serializers.CharField(max_length=32) #增加了認證功能 desc=serializers.CharField(max_length=32)class Courseview(APIView): def get(self,request): # 使用序列化傳數據 course_list=Course.objects.all() cs=CourseSerializer(course_list,many=True) #如果有多個字段,不可能使用course.desc這種方式,需要序列化簡便! print(cs.data) #序列化接口 return Response(cs.data) #我的序列化接口
效果:(使用response結構化、使用序列化組件後的數據)
做POST請求:
def post(self,request): print(request.data) cs=CourseSerializer(data=request.data) #默認many=False if cs.is_valid(): #校驗 Course.objects.create(**request.data) #在數據庫中添加數據 return Response(cs.data) #序列化數據 else:return Response(cs.errors) # 序列化錯誤信息
添加數據後效果:
AI-序列化-做接口