Django API開發: 使用Python和Django構建web APIs Django for API: Build web APIs With Python & Django

Django for API: Build web APIs With Python & Django

中文翻譯版:Django API開發: 使用Python和Django構建web APIs

Django for api是一個基於項目的指南,指導您使用Django和Django REST框架構建現代API。

它適合從未構建過API的初學者,以及希望快速介紹Django基礎知識和最佳實踐的專業程序員。

前言

譯者:最近正在學習Django for API這本入門書,此倉庫是針對該書的一些開源章節翻譯,可以快速入門Django,如果大家有什麼問題可以提出來。

希望之後通過學習更多的Django API開發相關知識,然後建立一個自己的學習倉庫。

“I always advice people - Don't wait ! Do something when you are young, when you have no responsibilities. Invest time in yourself to have great Experiences that are going to enrich you, then you can't possibly lose.”
— Steve Jobs

目錄

介紹

互聯網由RESTful API提供支持。在後臺,即使最簡單的在線任務也涉及到多臺計算機相互交互。

API(Application Programming Interface)是描述兩臺計算機互相通信的一種方式。儘管有多種構建API的方式,但Web APIs--允許在全球範圍內傳輸數據--以RESTful(REp resentaional State Transfer)方式構成了壓倒性的結構。

接下來學習如何使用DjangoDjango REST Framework來構建不同的RESTful web APIs。

Django和Django REST Framework的結合是構建Web API的最流行和可自定義的方法之一,被世界上許多大型科技公司(包括Instagram,Mozilla,Pinterest和Bitbucket)使用。 它還非常適合初學者,因爲Django的“含電池”方法掩蓋了創建任何Web API所涉及的許多潛在的複雜性和安全風險。

爲什麼需要APIs?

Django於2005年首次發佈,當時大多數網站由一個大型整體代碼庫組成。 “後端”由數據庫模型,URL和視圖組成,這些模型與HTML,CSS和JavaScript的“前端”模板交互,而HTML,CSS和JavaScript則控制着每個網頁的顯示佈局。

但是,近年來,“ API優先”方法已經成爲Web開發中的主要範例。 此方法涉及將後端與前端正式分離。 這意味着Django變成了功能強大的數據庫和API,而不僅僅是網站框架。

如今,可以說,在大型公司中,Django被更多地用作後端API而不是完整的整體網站解決方案!

此時一個明顯的問題是:“爲什麼要打擾?” 傳統的Django本身可以很好地工作,將Django站點轉換爲Web API似乎需要做很多工作。 另外,作爲開發人員,您必須用另一種編程語言編寫專用的前端。

順便說一下,這種將服務分爲不同組件的方法被廣泛稱爲面向服務的體系結構

然而,事實證明,將前端與後端分離有多個優點。 首先,它可以說是“面向未來的”,因爲任何JavaScript前端都可以使用後端API。 鑑於前端庫中的更改速度非常快-React僅在2013年發佈,而Vue在2014年發佈!-這非常有價值。 如果在未來幾年內最終將當前的前端框架替換爲更新的框架,則後端API可以保持不變。 不需要大的重寫。

其次,API可以支持以不同語言和框架編寫的多個前端。 考慮到JavaScript用於Web前端,而Android應用程序需要Java編程語言,而iOS應用程序需要Swift編程語言。 使用傳統的整體方法,Django網站無法支持這些各種前端。 但是使用內部API,這三個組件都可以與相同的基礎數據庫後端通信!

第三,可以在系統內部和外部都使用API-first方法。

API-first的主要缺點是,與傳統的Django應用程序相比,它需要更多的配置。 但是,正如我們將在本書中看到的那樣,出色的Django REST Framework庫消除了許多這種複雜性。

Django REST 框架

有成百上千的第三方應用程序可爲Django添加更多功能。 (您可以在Django Packages上看到完整的可搜索列表。)但是Django REST Framework可以說是Django的殺手級應用。

它是成熟的,功能齊全,可自定義,可測試的,並且文檔齊全。 它還有目的地模仿了Django的許多傳統約定,從而使學習速度更快。 它是用Python編程語言編寫的,這是一種很棒,流行且易於訪問的語言。

如果您已經瞭解Django,那麼下一步就是學習Django REST Framework。 只需最少的代碼,它就可以將任何現有的Django應用程序轉換爲Web API。

爲什麼寫這本書

我寫這本書的原因是,對於Django REST框架新手來說,顯然缺乏良好的資源。 假設似乎每個人都已經瞭解API,HTTP,REST等。 我自己學習如何構建Web API的旅程令人沮喪...而且我已經對Django足夠了解,因此可以寫一本書!

本書是我希望以Django REST Framework開頭的指南。

第1章首先簡要介紹Web API和HTTP協議。

在第2章中,我們將建立一個圖書館書網站,然後向其中添加一個API,以回顧傳統Django和Django REST Framework之間的區別。

然後在第3-4章中,我們將構建一個Todo API並將其連接到React前端。 可以使用相同的過程將任何專用的前端(Web,iOS,Android,臺式機或其他)連接到Web API後端。

在第5-9章中,我們構建了一個生產就緒的Blog API,其中包含完整的CRUD功能。 我們還將介紹深度權限,用戶身份驗證,視圖集,路由器,文檔等。

可以在Github上在線找到所有章節的完整源代碼。

總結

Django和Django REST Framework是一種強大且易於訪問的構建Web API的方法。 到本書結尾,您將能夠使用現代最佳實踐從頭開始正確構建自己的Web API。 您將能夠以最少的代碼將任何現有的Django網站擴展到網絡API。
讓我們開始!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章