码迷,mamicode.com
首页 > 其他好文 > 详细

序列化组件简单使用

时间:2019-07-02 16:07:07      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:any   也有   图片   rest   image   实例化   分离   imp   work   

序列化组件是什么

把python当中的对象转成json格式字符串,前后端分离是不能将对象返回,之前我们用的json又不能序列化对象只能序列化字典或者列表所以有了序列化组件

第一步

技术图片

第二步

在视图中导入

rom rest_framework.views import APIView
from rest_framework.serializers import Serializer
from rest_framework.response import Response

Serializer是序列化的类

将数据库表数据获取出来

视图里面写cbv

Django内置的serializers(把对象序列化成json字符串)

from django.core import serializers
class Books(APIView):
     def get(self,request):
         books=models.Book.objects.all()
         ret = serializers.serialize("json", books)
         return HttpResponse(ret)

返回结果

技术图片

Django内置的serializers非常的不好难以控制,把所有的信息有返回,不推荐使用,了解即可

序列化使用步骤

使用drf的序列化组件

1 新建一个序列化类继承Serializer

注意:序列化的类不能写在视图中,写在单独的py文件

技术图片

2 在类中写要序列化的字段

 技术图片

 

在视图中使用序列化的类

1 实例化序列化的类产生对象,在产生对象的时候,传入需要序列化的对象(queryset)

2 对象.data

3 return Response(对象.data)

class Books(APIView):
     def get(self,request):
         response = {code:100,msg:查询成功}
         books=models.Book.objects.all()
         bookser = BookSerializer(books,many=True)
         response[data] = bookser.data
         return Response(response)

 

#many=True,有时候序列化传过来的是一条,也有可能是多条,多条就要加上many=True,序列化一条可以不写

技术图片

 

序列化组件简单使用

标签:any   也有   图片   rest   image   实例化   分离   imp   work   

原文地址:https://www.cnblogs.com/zhengyuli/p/11120913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!