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型別時會丟擲...