1. 程式人生 > >DRF的解析器和渲染器 DRF的解析器和渲染器

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資料型別~~~~渲染器比較簡單~~~~