解析器的作用就是服務端接收客戶端傳過來的資料,把資料解析成自己可以處理的資料。本質就是對請求體中的資料進行解析。
解析器工作原理的就是拿到請求的contenttype來判斷前端給我的資料型別是什麼,然後我們在後端使用相應的解析器去解析資料。
ps:
django 原生是不支援 json 型別的資料,資料通過request.get 是拿不到的,只能在 request.body 全部請求體中自己去拿
配置之前先看下drf 原生支援多少型別
預設使用的解析器
如果想更改,可在單個檢視或者全域性的settings.py中配置要使用的解析器。
classbookviewset(modelviewset):
queryset =models.book.objects.all()
serializer_class =bookmodelserializer
parser_classes = [jsonparser, ]
rest_framework =注意:當你的專案中只配置了 jsonparser 解析器時,你的專案現在就只能解析json格式的資料了,客戶端如果使用瀏覽器提交,那麼你將無法解析。
注意:在檢視類中定義的配置項的優先順序要高於全域性配置中的配置項。
渲染器同解析器相反,它定義了框架按照content_type來返回不同的響應。
drf提供的渲染器有很多,預設是
'我們也可以在檢視中區域性設定也可以在全域性的settings.py中進行設定:default_renderer_classes
': (
'rest_framework.renderers.jsonrenderer',
'rest_framework.renderers.browsableapirenderer',
),
class這樣設定後就只能返回json格式的資料了,並不會像之前一樣提供乙個閱讀友好的web頁面。publisherviewset(modelviewset):
queryset =models.publisher.objects.all()
serializer_class =publishermodelserializer
renderer_classes = [jsonrenderer, ]
rest_framework =
rest_framework =
rest framework 解析器 上
rest framework 解析器 對請求題資料進行解析 urlfrom django.conf.urls import url,include from cmdb import views urlpatterns url r p v1 v2 users views.usersview.as vi...
學習週報 rest framework
本週學習情況 1.rest framework的學習 2.前後端分離5 2到5 6 下週學習計畫 停止課程內容學習 2.花10學習rest framework基礎的學習 本週完成情況 一 fbv,cbv 繼承 避免重複 1 優先順序從左往右 2 super 1.先在studentsview裡面查詢,...
rest framework登入認證
class user models.model user models.charfield max length 32 pwd models.charfield max length 32 class usertoken models.model token models.charfield max...