DRF解析器和渲染器

解析器 :

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

本质就是对请求体重的数据进行解析.

解析器原理 :

  1. 拿到前端传过来的Content-Type

  2. 获取后端自己的所有解析器

  3. 

Django的解析器 :

  请求进来在请求体中的数据在request.body, 那也就证明, 解析器会把解析好的数据放入request.body中, 我们在视图中可以打印request的类型, 能够知道reqeust是WSGIRequest这个类.

  在源码中看下是怎么拿到request.POST数据的:

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

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

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

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

DRF的解析器 :

  那么我们的解析器什么时候会被调用呢? 

  得到解析器后, 调用解析器里的parse方法

  在看下DRF配置的默认的解析器的类都有什么?

  也就是说我们DRF支持Json, Form表单的请求, 包括多种文件类型的数据

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

  这就是DRF的解析器


DRF的渲染器 :

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

DRF给我们提供的渲染器有

  在浏览器中展示的DRF测试的那个页面就是通过浏览器的渲染器做到的

  当然也可以展示Json数据类型

原文地址:https://www.cnblogs.com/dong-/p/9983572.html