DRF的解析器和渲染器

解析器

解析器的做用就是服務端接收客戶端傳過來的數據,把數據解析成本身想要的數據類型的過程。瀏覽器

本質就是對請求體中的數據進行解析。app

Django的解析器

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

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

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

 

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

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

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

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

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

DRF的解析器

咱們想一個問題~何時咱們的解析器會被調用呢~~ 是否是在request.data拿數據的時候~

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

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

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

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

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

這就是咱們DRF的解析器~~~

DRF的渲染器

渲染器就是友好的展現數據~~

DRF給咱們提供的渲染器有~~

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

固然咱們能夠展現Json數據類型~~~~渲染器比較簡單~~~~ 

相關文章
相關標籤/搜索