DRF的解析器和渲染器 DRF的解析器和渲染器
DRF的解析器和渲染器
解析器
解析器的作用就是服務端接收客戶端傳過來的資料,把資料解析成自己想要的資料型別的過程。
本質就是對請求體中的資料進行解析。
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給我們提供的渲染器有~~
我們在瀏覽器中展示的DRF測試的那個頁面~就是通過瀏覽器的渲染器來做到的~~
當然我們可以展示Json資料型別~~~~渲染器比較簡單~~~~
解析器
解析器的作用就是服務端接收客戶端傳過來的資料,把資料解析成自己想要的資料型別的過程。
本質就是對請求體中的資料進行解析。
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給我們提供的渲染器有~~
我們在瀏覽器中展示的DRF測試的那個頁面~就是通過瀏覽器的渲染器來做到的~~
當然我們可以展示Json資料型別~~~~渲染器比較簡單~~~~