DRF的解析器和渲染器

DRF的解析器和渲染器

解析器

  • 解析器的做用前端

    就是將客戶端傳過來的數據,把數據解析成本身想要的數據類型的過程django

  • 解析器的本質瀏覽器

    就是對請求體重的數據進行解析app

django的解析器

  • 請求進來請求體中的數據在request.body中,那也就證實,解析器會把解析好的數據放入request.body測試

    咱們在視圖中能夠打印request的類型,可以知道request是WSGIRequest這個類。url

    咱們能夠看下這個類的源碼咱們是怎麼拿到request.POST數據的~~3d

  • img

  • img

  • application/x-www-form-urlencoded不是不能上傳文件,是隻能上傳文本格式的文件,code

    multipart/form-data是將文件以二進制的形式上傳,這樣能夠實現多種類型的文件上傳orm

    一個解析到request.POST, request.FILES中。blog

    也就是說咱們以前能在request中能到的各類數據是由於用了不一樣格式的數據解析器~

    那麼咱們的DRF可以解析什麼樣的數據類型呢~~~

DRF的解析器

說請求數據都在request.data中,那咱們看下這個Request類裏的data

img

img

imgimg

img

img

img

獲得解析器後,調用解析器裏的parse方法~~

img

那說到這裏~咱們看下DRF配置的默認的解析器的類都有哪些

img

也就是說咱們的DRF支持Json,Form表單的請求,包括多種文件類型的數據

img

能夠在咱們的視圖中配置視圖級別的解析器~~~

img

DRF渲染器

  • 就是默認的數據再前端的展現

    img

    們在瀏覽器中展現的DRF測試的那個頁面~就是經過瀏覽器的渲染器來作到的

相關文章
相關標籤/搜索