DRF的解析器和渲染器

解析器

解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己想要的数据类型的过程。

本质就是对请求体中的数据进行解析。

Django的解析器

我们请求进来请求体中的数据在request.body中,那也就证明,解析器会把解析好的数据放入request.body

我们在视图中可以打印request的类型,能够知道request是WSGIRequest这个类。

我们可以看下这个类的源码,我们是怎么拿到request.POST数据的

application/x-www-form-urlencoded不是不能上传文件,是只能上传文本格式的文件,

multipart/form-data是将文件以二进制的形式上传,这样可以实现多种类型的文件上传

一个解析到request.POST,   request.FILES中。

也就是说我们之前能在request中能到的各种数据是因为用了不同格式的数据解析器~

那么我们的DRF能够解析什么样的数据类型呢

DRF的解析器

我们想一个问题~什么时候我们的解析器会被调用呢~~ 是不是在request.data拿数据的时候~

我们说请求数据都在request.data中,那我们看下这个Request类里的data

第一步:我们的data肯定封装在request里的所有从这里入手

可以在我们的视图中配置视图级别的解析器

DRF的渲染器

渲染器就是友好的展示数据

DRF给我们提供的渲染器有

第一步:

原文地址:https://www.cnblogs.com/chunqiuyu/p/9903895.html

时间: 2024-11-07 12:33:33

DRF的解析器和渲染器的相关文章

DRF 版本、认证、权限、限制、解析器和渲染器

目录 一.DRF之版本控制 为什么要有版本控制? DRF提供的版本控制方案 版本的使用 全局配置 局部配置(使用较少) 二.DRF之认证 内置的认证 步骤 三.DRF之权限 1.自定义一个权限类 2.权限 局部配置 3.权限 全局配置 四.DRF之限制 1.使用自定义限制类 1.1自定义一个限制类 1.2限制 局部配置 1.3限制 全局配置 2.使用内置限制类 2.1定义内置限制类 2.2全局配置 五.DRF之分页 1.为什么要使用分页 2.DRF使用分页器 2.1分页模式 2.2全局配置 2.

【DRF解析器和渲染器】 񧠰

目录 解析器 Django中的解析器 DRF中的解析器 DRF中的渲染器 原文: http://blog.gqylpy.com/gqy/294 "@ *** 解析器 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己想要的数据类型的过程. 本质就是对请求体中的数据进行解析. Content-type:用于声明我给你传的是什么类型的数据 : application/x-ww-form-urlencoded 表单数据类型 : multipart/form-data 文件 : applic

9.6 rest framework 解析器,渲染器

解析器 解析器的作用 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据.本质就是对请求体中的数据进行解析. 请求体相关字段: Accept:指定了接收的数据类型 ContentType:指定了传递的数据类型 解析器工作原理的就是拿到请求的ContentType来判断前端给我的数据类型是什么,然后我们在后端使用相应的解析器去解析数据. ps: django 原生是不支持 json 类型的数据,数据通过request.get 是拿不到的,只能在 request.body

Django REST Framework 解析器与渲染器

01-解析器 REST 框架包括一些内置的Parser类,允许你接受各种媒体类型的请求.还支持定义自己的自定义解析器,这使你可以灵活地设计API接受的媒体类型. 注意: 开发客户端应用程序时应该始终记住在HTTP请求中发送数据时确保设置Content-Type头. 如果你不设置内容类型,大多数客户端将默认使用'application/x-www-form-urlencoded',而这可能并不是你想要的. 举个例子,如果你使用jQuery的.ajax() 方法发送json编码数据,你应该确保包含c

rest framework-解析器和渲染器-长期维护

###############   解析器   ############### # 解析器----数据解析器, # # 前端发送了json数据,在request的body里面, # 我们需要把json数据解析成字典,这样每次都要解析,所以可以创建一个中间件,只要是json就解析,然后在视图里面就可以直接使用了, # 所以什么是解析器?就是把数据转换成我们需要的格式, # 原生的django不支持对json的解析, # 但是我们的rest framework支持,没有进行任何的处理,就直接给你在r

基于OpenGL编写一个简易的2D渲染框架-11 重构渲染器-Renderer

假如要渲染一个纯色矩形在窗口上,应该怎么做? 先确定顶点的格式,一个顶点应该包含位置信息 vec3 以及颜色信息 vec4,所以顶点的结构体定义可以这样: struct Vertex { Vec3 position; Vec4 color; }; 然后填充矩形四个顶点是数据信息: Vertex* data = ( Vertex* ) malloc(sizeof( Vertex ) * 4); data[0].position.set(0, 0, 0); data[1].position.set(

jQuery插件jqplot的详细配置说明和渲染器

jQuery插件jqplot的详细配置说明和渲染器 (2012-08-23 08:57:42) 转载▼ 标签: jqplot 详细配置 渲染器 it 分类: 技术类 jQuery.jqplot插件的官方网址:http://www.jqplot.com/ jQuery.jqplot('target', data, options);//target:要显示的位置.data:显示的数据.options:其它配置 options: seriesColors: ["#4bb2c5", &quo

rest_framework之渲染器

渲染器简介 什么是渲染器 根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件. 渲染器的作用 序列化.友好的展示数据 渲染器配置 首先要在settins.py中将rest_framework组件加进去 局部配置渲染器 引入渲染器类,然后将他们作为一个列表的元素赋值给renderer_classes 配置属性,如下: from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer class Course

DRF ---- APIview生命周期 请求/渲染/解析/异常/响应/ 模块源码 drf配置

目录 drf框架的封装风格 1. 原生Django View的源码复习 as_view源码 dispatch源码 2. ApiView的生命周期(源码) 重写的as_view源码 重写的dispatch源码 3 . 请求模块 initialize_request 源码 Request 源码 Request 下 __getattr_ 源码 总结(重点) 4. 渲染模块(了解) 5. Drf配置(重点) drf APISettings 默认配置 drf框架 自定义 全局配置 drf框架 自定义 局部