1. 程式人生 > >AI-序列化-做接口

AI-序列化-做接口

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-序列化-做接口