AI-序列化-做接口

如果有多个字段,不能使用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) # 序列化错误信息

添加数据后效果:

猜你喜欢

转载自www.cnblogs.com/djfboai/p/10061724.html