• 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数据类型

  • 相关阅读:
    18.中介者模式
    17.迭代器模式
    16.解释器模式
    15.命令模式
    Git超详细用法,通俗易懂
    CSS Sprites精灵图(雪碧图)
    小程序被冻结,忘记原始ID,如何找回?
    vue组件-视频播放之video.js
    基础设计模式-04 复杂对象创建的建造器模式
    基础设计模式-03 从过滤器(Filter)校验链学习职责链模式
  • 原文地址:https://www.cnblogs.com/dong-/p/9983572.html
Copyright © 2020-2023  润新知