zoukankan      html  css  js  c++  java
  • Django-Rest-Framework的解析器和渲染器

    Django-Rest-Framework的解析器和渲染器

    解析器

    解析器的作用就是服务端接收客户端传来的数据,把数据解析成自己想要的数据类型的过程
    
    本质就是对请求体中的数据进行解析
    

    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测试的那个页面,就是通过浏览器的渲染来做到的

    当然我们可以展示Json数据类型

  • 相关阅读:
    一些业内有名的网站收集
    WCF重载
    FCKEditor fckconfig.js配置,添加字体和大小 附:中文字体乱码问题解决
    查询第几条到第几条的数据的SQL语句
    SPOJ 9939 Eliminate the Conflict
    UVA 10534 Wavio Sequence
    HDU 3474 Necklace
    POJ 2823 Sliding Window
    UVA 437 The Tower of Babylon
    UVA 825 Walking on the Safe Side
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/9897885.html
Copyright © 2011-2022 走看看