DRF初始準備

2022-04-10 18:17:04 字數 2357 閱讀 9911

drf知識點:

drf-drf入門規範

drf-序列化元件(drf重點)

drf-請求與響應

drf-檢視元件

drf-路由元件

drf-認證許可權頻率

drf-過濾排序分頁異常處理

drf-自動生成介面文件

drf-jwt認證:token

drf-xadmin的使用:第三方寫的,比admin好看的後台管理

book系列多表群操作

rbac-基於角色的訪問控制

前後端混合開發(模板語言:dtl),需要處理很多前端問題

前後端分離開發:前端是乙個專案,後端是乙個專案,寫完之後進行專案聯調

前端不僅僅指web前端,還有移動端,小程式等

後端只需要返回json格式字串即可

為了在團隊內部形成共識、防止個人習慣差異引起的混亂,我們需要找到一種大家都覺得很好的介面實現規範,而且這種規範能夠讓後端寫的介面,用途一目了然,減少雙方之間的合作成本。

通過網路,規定了前後臺資訊互動規則的url鏈結,也就是前後臺資訊互動的媒介

web api介面和一般的url鏈結還是有區別的,web api介面簡單概括有下面四大特點

請求方式:get、post、put、patch、delete

請求引數:json或xml格式的key-value型別資料

響應結果:json或xml格式的資料

介面簡圖

後端開放完,使用postman測試介面(api介面)

使用postman匯出(export)和匯入測試介面

公司測試平台

2 pip3 install djangorestframework

3 簡單使用,看**

django: 2.0.7 ,1版本也可以

djangorestframework:3.12.1

rest全稱是representational state transfer,中文意思是表述(編者注:通常譯為表徵性狀態轉移)。 它首次出現在2023年roy fielding的博士**中。

restful是一種定義web api介面的設計風格,尤其適用於前後端分離的應用模式中。

這種風格的理念認為後端開發任務就是提供資料的,對外提供的是資料資源的訪問介面,所以在定義介面時,客戶端訪問的url路徑就表示這種要操作的資料資源。

事實上,我們可以使用任何乙個框架都可以實現符合restful規範的api介面

注:一般提倡用資源的複數形式,在url鏈結中獎勵不要出現操作資源的動詞,錯誤示範:

特殊的介面可以出現動詞,因為這些介面一般沒有乙個明確的資源,或是動詞就是介面的核心含義

7.1 正常響應

7.2 重定向響應

7.3 客戶端異常

7.4 伺服器異常

get /collection:返回資源物件的列表(陣列)

get /collection/resource:返回單個資源物件

post /collection:返回新生成的資源物件

put /collection/resource:返回完整的資源物件

patch /collection/resource:返回完整的資源物件

delete /collection/resource:返回乙個空文件

# hypermedia api,restful api最好做到hypermedia,即返回結果中提供鏈結,連向其他api方法,使得使用者不查文件,也知道下一步應該做什麼

...]}

比較好的介面返回

# 響應資料要有狀態碼、狀態資訊以及資料本身

, "address":"月羅路2380號",

"province":"上海市",

"city":"上海市",

"area":"寶山區",

"street_id":"339ed41ae1d6dc320a5cb37c",

"telephone":"(021)56761006",

"detail":1,

"uid":"339ed41ae1d6dc320a5cb37c"

}...

]}

DRF學習筆記 準備

drf即django rest framework,它提供了定義序列化器serializer的方法,可以快速根據 django orm 或者其它庫自動序列化 反序列化。好處 django可以渲染頁面和返回資料,但在特定的場景下僅需要返回資料即可,drf則提供了各種方法方便我們實現資料的增刪改查。在開...

使用nativescript的初始準備(2)

1.配置nativescript 開發環境 2.解決cannot find a compatible android sdk for compilation.to be able to build for android,install android sdk 28 or later.mac環境an...

DRF基本使用

執行pip install djangorestframework安裝drf 1.查詢 books book.objects.all 2.資料轉換 jsonresponse book list,safe false 為什麼加safe false?檢視原始碼可知,safe預設時且非dict型別時會丟擲...