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的解析器和渲染器相关推荐

  1. django_rest_framework之解析器、渲染器

    一.解析器 DRF中的解析器(类) 1.可以根据请求头中的Content-Type来自动解析参数,使用统一的data属性来获取即可 2.默认3个解析器类JSONParser.FormParser.Mu ...

  2. Django REST framework 解析器和渲染器

    解析器的作用 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据.本质就是对请求体中的数据进行解析. 在了解解析器之前,我们要先知道Accept以及ContentType请求 ...

  3. 29.渲染器Renderer

    什么是渲染器 渲染器就是将服务器生成的数据格式转为http请求的格式 渲染器触发及参数配置 在DRF配置参数中,可用的渲染器作为一个类的列表进行定义 但与解析器不同的是,渲染器的列表是有顺序关系的 R ...

  4. c4d支持mac系统渲染器有哪些_C4D常用的4大主流渲染器如何选择与比较 (OC/RS/VR/阿诺德)...

    这里说下支持C4D的几大主流渲染器,我们比较熟悉的octane .阿诺德.Redshift.vray这四大主流渲染器.以及我个人看法便于各位参考选择~ 对于渲染器我是一直觉得除了C4D标准渲染器,一定 ...

  5. C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件),附源码

    本篇..基本可以算是Xamarin在应用开发过程中的核心了..真的很很很重要.. 想学习的..想用的..建议仔细阅读..嗯..打酱油的 ..快速滑倒下面点个推荐 - - 哈哈哈... 今天的学习内容? ...

  6. threejs相机和渲染器

    渲染器 渲染器其实代表的是canvas标签. 渲染器的类型 WebGLRender 使用WebGL来渲染图形,速度较快,但是有些机器不支持WebGL. CanvasRender 使用canvas2d来 ...

  7. maya 中切换当前渲染器的方法和设置

    切换渲染器 主流渲染器有 arnold,vray,redshift 使用脚本为 import maya.cmds as cmdscmds.setAttr('defaultRenderGlobals.r ...

  8. C4D渲染器到底该怎么选?

    对C4D使用者来说,选择哪个渲染器始终是经久不衰的话题.各大渲染器各有千秋,如何选择也是一门学问. 当前C4D主流渲染器,较熟悉的有Octane .Arnold.Redshift.V-ray. 尽管C ...

  9. 视频播放器—纹理-渲染-窗口

    简介 SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成:其封装了复杂的视音频底层交互工作,简化了视音频处理的难度:多用于开发游戏.模拟器. ...

  10. asp.net接受表单验证格式后再提交数据_如何解析 el-form-renderer 表单渲染器1.14.0...

    DEEPEXI 大前端 常人道,一入开发深似海,技术学习无止境.在新技术层出不穷的前端开发领域,有一群身怀绝技的开发,他们在钻研前沿技术的同时,也不忘分享他们的成果,回馈社区.下面,就由小水滴带大家看 ...

最新文章

  1. AI攻破高数核心,1秒内精确求解微分方程、不定积分,性能远超Matlab
  2. eclipse里没有project facets
  3. [Python3] 003 变量类型概述 数字类型详叙
  4. 使用logrotate分割tomcat日志
  5. python代码_自学Python之后不想去公司上班,教你如何月入10000+,听过来人说
  6. python土味情话_土味情话表情包下载
  7. Java 批量插入数据到数据库(MySQL)中
  8. Silverlight带关闭动画的内容控件,可移动的内容控件(一)
  9. alm数据库mysql_mysql
  10. .network 中文文档_以太坊链下支付网络Raiden API中文文档
  11. Swift中文教程(九) 类与结构
  12. 160. Intersection of Two Linked Lists(剑指Offer-两个链表的第一个公共结点)
  13. foregroundservice的用处和用法
  14. Direcshow相关资料
  15. Openssl genrsa命令
  16. C#编程总结(十一)数字证书
  17. flask从html中页面重定向,如何在成功登录后才将用户重定向到所需的HTML页面(flask python应用程序)?...
  18. 黑客们很喜欢骇客交锋,虽然本片不被影评人认可
  19. 数据挖掘常用算法整理
  20. 征途mysql启动不了_征途单机版架设中场景服务器启动失败?这是为什么?

热门文章

  1. ElasticSearch全文搜索引擎之整合SpringBoot篇
  2. Spring Cloud Alibaba Sentinel之热点参数限流篇
  3. 【Hoxton.SR1版本】Spring Cloud Gateway之如何进行限流
  4. 【更新】ReSharper v2018.3发布
  5. windows——JDK下载与安装及环境变量配置
  6. boost mutex 应用
  7. 在iOS开发的Quartz2D使用中实现图片剪切和截屏功能
  8. 第二百零二节,jQuery EasyUI,Layout(布局)组件
  9. python复习第一节
  10. 03.SpringBoot入门案例及详解