序列化與返序列化
序列化:將python中的資料型別轉換成指定資料型別傳送給別人
返序列化:接收別人傳送過來的資料,返序列化成我們所需要的格式。
eg::前端js提供過來的json資料,對於python而言就是字串,我們需要進行反序列化換成模型類物件,這樣我們才能把資料儲存到資料庫中。
Django Rest_Framework
核心思想: 縮減編寫api介面的程式碼
Django REST framework是一個建立在Django基礎之上的Web 應用開發框架,可以快速的開發REST API介面應用。在REST framework中,提供了序列化器Serialzier的定義,可以幫助我們簡化序列化與反序列化的過程,不僅如此,還提供豐富的類檢視、擴充套件類、檢視集來簡化檢視的編寫工作。REST framework還提供了認證、許可權、限流、過濾、分頁、介面文件等功能支援。REST framework提供了一個API 的Web視覺化介面來方便檢視測試介面。
drf_logo
官方文件:https://www.django-rest-framework.org/
github: https://github.com/encode/django-rest-framework/tree/master
drf介紹和安裝
Django的一個app,整合到Django中可以方便快速寫出符合restful規範的介面。
環境安裝與配置
DRF需要以下依賴:
Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6)
Django (1.10, 1.11, 2.0)
DRF是以Django擴充套件應用的方式提供的,所以我們可以直接利用已有的Django環境而無需從新建立。(若沒有Django環境,需要先建立環境安裝Django)
使用drf需要在註冊:rest_framework
例項:基於drf實現5個介面,此為最終結果,此後會推到如何到這一步。
CBV原始碼解析