DRF的解析器和渲染器
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~~
得到解析器后,调用解析器里的parse方法~~
那说到这里~我们看下DRF配置的默认的解析器的类都有哪些~~
也就是说我们的DRF支持Json,Form表单的请求,包括多种文件类型的数据~~~~
可以在我们的视图中配置视图级别的解析器~~~
这就是我们DRF的解析器~~~
DRF的渲染器
渲染器就是友好的展示数据~~
DRF给我们提供的渲染器有~~
我们在浏览器中展示的DRF测试的那个页面~就是通过浏览器的渲染器来做到的~~
当然我们可以展示Json数据类型~~~~渲染器比较简单~~~~
转载于:https://www.cnblogs.com/yzh2857/p/10116420.html
DRF的解析器和渲染器相关推荐
- django_rest_framework之解析器、渲染器
一.解析器 DRF中的解析器(类) 1.可以根据请求头中的Content-Type来自动解析参数,使用统一的data属性来获取即可 2.默认3个解析器类JSONParser.FormParser.Mu ...
- Django REST framework 解析器和渲染器
解析器的作用 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据.本质就是对请求体中的数据进行解析. 在了解解析器之前,我们要先知道Accept以及ContentType请求 ...
- 29.渲染器Renderer
什么是渲染器 渲染器就是将服务器生成的数据格式转为http请求的格式 渲染器触发及参数配置 在DRF配置参数中,可用的渲染器作为一个类的列表进行定义 但与解析器不同的是,渲染器的列表是有顺序关系的 R ...
- c4d支持mac系统渲染器有哪些_C4D常用的4大主流渲染器如何选择与比较 (OC/RS/VR/阿诺德)...
这里说下支持C4D的几大主流渲染器,我们比较熟悉的octane .阿诺德.Redshift.vray这四大主流渲染器.以及我个人看法便于各位参考选择~ 对于渲染器我是一直觉得除了C4D标准渲染器,一定 ...
- C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件),附源码
本篇..基本可以算是Xamarin在应用开发过程中的核心了..真的很很很重要.. 想学习的..想用的..建议仔细阅读..嗯..打酱油的 ..快速滑倒下面点个推荐 - - 哈哈哈... 今天的学习内容? ...
- threejs相机和渲染器
渲染器 渲染器其实代表的是canvas标签. 渲染器的类型 WebGLRender 使用WebGL来渲染图形,速度较快,但是有些机器不支持WebGL. CanvasRender 使用canvas2d来 ...
- maya 中切换当前渲染器的方法和设置
切换渲染器 主流渲染器有 arnold,vray,redshift 使用脚本为 import maya.cmds as cmdscmds.setAttr('defaultRenderGlobals.r ...
- C4D渲染器到底该怎么选?
对C4D使用者来说,选择哪个渲染器始终是经久不衰的话题.各大渲染器各有千秋,如何选择也是一门学问. 当前C4D主流渲染器,较熟悉的有Octane .Arnold.Redshift.V-ray. 尽管C ...
- 视频播放器—纹理-渲染-窗口
简介 SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成:其封装了复杂的视音频底层交互工作,简化了视音频处理的难度:多用于开发游戏.模拟器. ...
- asp.net接受表单验证格式后再提交数据_如何解析 el-form-renderer 表单渲染器1.14.0...
DEEPEXI 大前端 常人道,一入开发深似海,技术学习无止境.在新技术层出不穷的前端开发领域,有一群身怀绝技的开发,他们在钻研前沿技术的同时,也不忘分享他们的成果,回馈社区.下面,就由小水滴带大家看 ...
最新文章
- AI攻破高数核心,1秒内精确求解微分方程、不定积分,性能远超Matlab
- eclipse里没有project facets
- [Python3] 003 变量类型概述 数字类型详叙
- 使用logrotate分割tomcat日志
- python代码_自学Python之后不想去公司上班,教你如何月入10000+,听过来人说
- python土味情话_土味情话表情包下载
- Java 批量插入数据到数据库(MySQL)中
- Silverlight带关闭动画的内容控件,可移动的内容控件(一)
- alm数据库mysql_mysql
- .network 中文文档_以太坊链下支付网络Raiden API中文文档
- Swift中文教程(九) 类与结构
- 160. Intersection of Two Linked Lists(剑指Offer-两个链表的第一个公共结点)
- foregroundservice的用处和用法
- Direcshow相关资料
- Openssl genrsa命令
- C#编程总结(十一)数字证书
- flask从html中页面重定向,如何在成功登录后才将用户重定向到所需的HTML页面(flask python应用程序)?...
- 黑客们很喜欢骇客交锋,虽然本片不被影评人认可
- 数据挖掘常用算法整理
- 征途mysql启动不了_征途单机版架设中场景服务器启动失败?这是为什么?
热门文章
- ElasticSearch全文搜索引擎之整合SpringBoot篇
- Spring Cloud Alibaba Sentinel之热点参数限流篇
- 【Hoxton.SR1版本】Spring Cloud Gateway之如何进行限流
- 【更新】ReSharper v2018.3发布
- windows——JDK下载与安装及环境变量配置
- boost mutex 应用
- 在iOS开发的Quartz2D使用中实现图片剪切和截屏功能
- 第二百零二节,jQuery EasyUI,Layout(布局)组件
- python复习第一节
- 03.SpringBoot入门案例及详解