rest framework 解析器,渲染器

2022-06-28 01:12:09 字數 1431 閱讀 8229

解析器的作用就是服務端接收客戶端傳過來的資料,把資料解析成自己可以處理的資料。本質就是對請求體中的資料進行解析。

解析器工作原理的就是拿到請求的contenttype來判斷前端給我的資料型別是什麼,然後我們在後端使用相應的解析器去解析資料。

ps:

django 原生是不支援 json 型別的資料,資料通過request.get 是拿不到的,只能在 request.body 全部請求體中自己去拿

配置之前先看下drf 原生支援多少型別

預設使用的解析器

如果想更改,可在單個檢視或者全域性的settings.py中配置要使用的解析器。

class

bookviewset(modelviewset):

queryset =models.book.objects.all()

serializer_class =bookmodelserializer

parser_classes = [jsonparser, ]

rest_framework =
注意:當你的專案中只配置了 jsonparser 解析器時,你的專案現在就只能解析json格式的資料了,客戶端如果使用瀏覽器提交,那麼你將無法解析。

注意:在檢視類中定義的配置項的優先順序要高於全域性配置中的配置項。

渲染器同解析器相反,它定義了框架按照content_type來返回不同的響應。

drf提供的渲染器有很多,預設是

'

default_renderer_classes

': (

'rest_framework.renderers.jsonrenderer',

'rest_framework.renderers.browsableapirenderer',

),

我們也可以在檢視中區域性設定也可以在全域性的settings.py中進行設定:

class

publisherviewset(modelviewset):

queryset =models.publisher.objects.all()

serializer_class =publishermodelserializer

renderer_classes = [jsonrenderer, ]

這樣設定後就只能返回json格式的資料了,並不會像之前一樣提供乙個閱讀友好的web頁面。

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...