內容簡介
自Django 創建以來,各種各樣的開源社區已經構建了很多Web 框架,比如JavaScript 社區創建的Angular.js 、Ember.js 和Backbone.js 之類面向前端的Web 框架,它們是現代Web 開發中的先驅。Django 從哪裡入手來適應這些框架呢?我們如何將客戶端MVC 框架整合成為當前的Django 基礎架構?
本書講述如何利用Django 強大的“自支持”功能體系。本書的目標是引導讀者跨越認為Django 太繁重而無法進行快速套用開發的誤區。從創建世界上最小的Django 套用到構建RESTful API ,本書將引導讀者學習如何利用這種流行的Python Web 框架。
寫這本書的目的
我們編寫本書主要是出於對Django 的熱愛。我們的社區是令人驚奇的,它有很多資源可以用來學習Django 和開發套用。儘管我們也喜歡包括官方的Django 文檔在內的一些資源,但這僅僅是對Django 強大功能的過於關注,而非它的解耦設計。Django 是一個令人滿意的框架,它帶有很多用於構建Web 套用的通用程式。在本書中,我們要突出說明如何將這些組件進行分離和間接替換,並從中選出最適合創建套用的一些組件來。同樣地,我們想要將Django 項目和套用的典型框架進行分解。我們的目標是使讀者不再提出“我怎樣用Django 完成我的X 工作”這樣的問題,而是提出“Django 能幫我完成X 工作嗎?如果不能,社區有可用的工具嗎”這樣的問題。
另外,我們想要回答的問題是利用大量客戶端實時互動,以及與本地可移動套用匹配的組件構建更多套用時,將Django 放在網路的什麼地方適用。作為框架,用戶對Django 一無所知,這使得一些喜歡Django 的用戶無法得到構建這種套用的指導。我們希望本書能夠幫助解決這些問題,想看到Django 及其社區日益壯大,並在多年後大家也成為它的一員。
目錄
第1 章,世界上最小的Django 項目。創建輕便簡單的網路套用是本書的核心思想。在這一章,要創建一個可運行的單行檔案“Hello World ”的Django 套用。
第2 章,無狀態的Web 套用。講述占位符圖像服務的創建方法。第2 章將引導讀者通過創建無狀態網路套用來生成占位符圖像的URL。
第3 章,創建靜態站點生成器。快速構建原型是一門有用的創建和輔助網路套用的技術。我們要通過創建靜態網站生成器協助維護團隊項目的方式來檢驗該技術的效果。
第4 章,構建REST API。REST API 是創建豐富的、具有內容相關性的網路套用的重要部分。在這一章我們利用Django 靜態框架開始構建一個大比例的Scrum 板套用。
第5 章,使用Backbone.js 的客戶端Django。本章繼續講述在第4 章中用新構建的RESTful API 創建的Backbone.js 套用。介紹創建新Backbone 套用的每個組件以及如何用Django 同步該客戶端框架。
第6 章,單頁面Web 套用。單頁面網路套用是一種能夠創建豐富客戶端網路套用的途徑。在本章,我們將回到簡單的Backbone 套用中,不斷使這個單頁面套用更加健壯。
第7 章,實時Django。這一章講述創建回響實時互動的網路套用,為用戶提供及時滿意的服務。為了繼續完成先前兩章的項目,我們要將一個實時組件添加到使用網路外掛程式和Tornado 的Scrum 板上,這是一個用Python 編寫的異步網路庫。
第8 章,Django 和Tornado 通信。將強大的Django 與Tornado 的健壯特性相結合是創建可變、實時的Django 套用的重要標誌。在本章中,我們將通過集成Django 的通信能力擴展Tornado 伺服器的功能,來建立一種既安全又可互動的聯繫。