首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
DRF初识与序列化
】的更多相关文章
DRF初识与序列化
一.Django的序列化方法 1.为什么要用序列化组件 做前后端分离的项目,我们前后端数据交互一般都选择JSON,JSON是一个轻量级的数据交互格式.那么我们给前端数据的时候都要转成json格式,那就需要对我们从数据库拿到的数据进行序列化. 2.表的构建 CHOICES = ((1, "python"), (2, "linux"), (3, "go")) # 书籍表 class Book(models.Model): title = models…
DRF中的序列化器
DRF中的序列化器详细应用 视图的功能:说白了就是接收前端请求,进行数据处理 (这里的处理包括:如果前端是GET请求,则构造查询集,将结果返回,这个过程为序列化:如果前端是POST请求,假如要对数据库进行改动,则需要拿到前端发来的数据,进行校验,将数据写入数据库,这个过程称为反序列化) 最原始的视图可以实现这样的逻辑处理,但是针对不同的请求,需要在类视图中定义多个方法实现各自的处理,这样是可以解决问题,但是存在一个缺陷,那就是每个函数中一般的逻辑都差不多:读请求,从数据库拿数据,写东西到数据…
【DRF框架】序列化组件
DRF框架的序列化组件 在前后端分离的应用模式中,后端仅返回前端所需的数据,返回的数据类似是JSON,因此需要使用序列化组件进行序列化再将数据返回 使用JsonResponse做序列化 # 使用JsonResponse做序列化 class SearchBook(View): def get(self, request): book_queryset = Book.objects.values('id', 'title', 'category', 'pub_time', 'p…
经历了源码的痛苦,掌握DRF的核心序列化器
目录 DRF的核心--序列化器 序列化器 什么是序列化和反序列化? 序列化 序列化demo 字段类型 字段参数 序列化自定制返回字段 方法一:在序列化类(serializers.py)中写 方法二:在表模型(models.py)中写 反序列化 反序列化demo 反序列化之局部和全局钩子 ModelSerializer模型类序列化器 字段参数 DRF的核心--序列化器 上一篇介绍了很多有关视图类以及DRF中的APIView执行流程.Request对象的源码分析,源码都get了: DRF的核心当然不…
DRF分阶段序列化细化实例
DRF是分两阶段进行的. 如果是API接收数据,则是先进行Parser,将外界接收的bytes数据分析成python数据类型,其间涉及encoding操作,再进行序列化,将python数据类型保存进数据库. 如果是从API获取数据,则是先进行反序列化,将数据库中的数据转成python数据类型,再进行renderer,将python数据类型渲染成可用于网络传输的byte类型. 实践的代码如下: models.py from django.db import models # Create your…
drf:筛选,序列化
1.基础 restful规范: - url:一般用名词 http://www.baidu.com/article (面向资源编程) - 根据请求方式的不同做不同操作:get,post,put,delete,patch - 一般传输的数据格式都是json - 根据筛选条件可以在url后面添加参数 http://www.baidu.com/article?page=1 一些动态变化的使用fk,不会动态变化的直接加入到内存里面,查找速度比较快. 分表:水平分表,垂直分表 serraliserz想自己添…
DRF项目之序列化器和视图重写方法的区别
我们,都知道,DRF框架是一款高度封装的框架. 我们可以通过重写一些方法来实现自定义的功能. 今天,就来说说在视图中重写和序列化器中重写方法的区别. 在视图中重写方法: 接收请求,处理数据(业务逻辑),最后响应JSON数据. 在序列化器中重写方法: 实现和Model的交互,主要实现对数据库的操作. 如图:…
DRF框架之序列化器初体验
首先,我们需要明白序列化和反序列化的过程指的是什么. 序列化操作:将模型数据 ---> 字典数据 --->JSON数据(响应JSON数据的操作) 反序列化操作:将JSON数据 ---> 字典数据 ---> 校验通过的字典数据 --->模型数据(添加.修改数据的操作) 接下来,我们将学习DRF框架,通过DRF框架来提高我们开发API的效率. 什么是DRF框架? Django REST framework 框架是一个用于构建Web API 的强大而又灵活的工具. 通常简称为DRF…
二.drf之使用序列化编写视图
总结:两功能序列化: a.拿到queryset --->idc = Idc.objects.all() b.将queryset给序列化成类---->serializer = IdcSerializer(idc, many=True) c.转json: --->content = JSONRenderer().render(serializer.data)用序列化类的data属性可以输出所有的数据是一个字典的,并转成json字符串 反序列化: a.将字符串content转成流--->…
day71:drf:API接口&Restful API规范&Django Rest Framework&drf中的序列化和反序列化功能
目录 1.web应用模式 2.API接口 3.Restful API规范 4.序列化 5.Django Rest Framework 1.drf的简单介绍 2.drf的特点 3.如何安装drf 4.drf的强大之处 5.序列化器的使用 1.web应用模式 在开发Web应用中,有两种应用模式: 1.前后端不分离 2.前后端分离 2.API接口 为了在团队内部形成共识.防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间…