解析器
解析器的做用就是服務端接收客戶端傳過來的數據,把數據解析成本身想要的數據類型的過程。瀏覽器
本質就是對請求體中的數據進行解析。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數據類型~~~~渲染器比較簡單~~~~