Web 開發激動人心且富於創造性,但它卻是件煩瑣而令人生厭的工作。
Django 為可使Web 開發工作愉快並且高效的Web 開發架構,能夠以最小的代價建置和維護高品質的Web 應用。Django 透過減少重複程式,讓使用者能夠專注於Web 應用上有趣的關鍵性東西,提供通用Web 開發模式的高度抽象與頻繁進行的程式設計作業的快速解決方法,以及為“如何解決問題”提供了清晰的約定。
Django 是一款以Python 語言及MVC 設計模式實現為基礎的Web 應用程式開發架構。MVC 設計模式適用於大型可擴充的Web 應用程式開發,它將用戶端請求、請求處理、伺服器回應劃分為模型、視圖、控制器3 個部分。其中,模型(Model) 主要負責後台資料庫操作;視圖負責回應頁面的呈現;控制器接收使用者請求,根據請求存取模型取得資料,並呼叫視圖顯示這些資料。控制器將模型和視圖隔離,並成為二者之間的樞紐。Django 對傳統的MVC 設計模式進行了改進,將視圖分成View 模組和Template 模組兩部分,將動態的邏輯處理與靜態的頁面展現分離開。而Model 採用了ORM 技術,將關聯式資料庫表抽象成物件導向的Python 類別,將表操作轉換成類別操作,避免了複雜的SQL 敘述撰寫。
利用Web 開發架構能夠有效縮短研發時間,實現業務模組化開發和敏捷部署。Rod Johnson 和Juergen Hoeller 等開發的Spring Framework 是開放原始碼Java EE 全端應用程式架構,利用控制翻轉原則實現設定管理便於應用程式快速組建,對資料庫進行一般化抽象使交易劃分處理與底層無關;Django 是以Python 為基礎的Web 開發架構,以動態指令碼語言為基礎的實現方式避免了應用程式像Java 程式一樣龐大臃腫,基於MTV 模式(Model、Template、View),利用模型物件關係對映、URL 比對模組、內建範本語言和快取系統,實現業務模組拆分和快速部署,Django 嘗試留下一些方法,讓使用者根據需要在Framework 之外開發。
Django 是筆者和團隊成員在架設智慧農業服務平台時觸碰到的新思想和新工具。針對智慧農業系統缺乏通用伺服器架構、軟體重複開發和資料資源浪費的問題,我們團隊提出了一種通用性的伺服器平台,降低介面呈現、服務流程控制及資料處理的耦合度,利用物件導向思想簡化資料庫設計的複雜度,加強伺服器開發效率,實現各種應用服務的快速部署,其中,應用服務程式基於Django 架構實現。
本書結合本團隊開發經驗和相關知識按系統撰寫而成,本書包含:HTML、CSS、JavaScript 等技術在介面設計方面的應用;MySQL 的安裝和設定及對資料庫的操作等內容;Java 語言的內容、功能、特性和物件導向、多執行緒及網路程式設計等內容;Django 應用架構和Nginx、uWSGI 伺服器的安裝、測試等內容;Linux 的開發流程及執行緒、處理程序、網路通訊的內容。在本書的最後一章對使用者認證系統的專案實例進行了部署與設計,讓讀者對專案的開發流程有基本的了解。
本書可以作為開發工具和寶典,透過閱讀和參照實現,可以完成開發者最初的開發指導,也可以作為平台架設的實例指導。