作 者:[美]安東尼奧?米勒 著 李 偉 譯 著 李偉 譯
定 價:139
出 版 社:清華大學出版社
出版日期:2019年03月01日
頁 數:429
裝 幀:平裝
ISBN:9787302526551
Django是一個功能強大的Python Web框架,支持快速開發過程以及簡潔、實用的設計方案。無論是對於初學者還是專家級程序員,這一特點頗具吸引力。本書將引領讀者學習專業Web應用程序的開發流程。除了框架知識之外,本書還將講解如何將其他較為流行的技術整合至Django項目中。本書將討論真實應用程序的構建過程、常見問題的處理,並逐步實現多種很好實踐方案。在閱讀完本書後,讀者將能夠理解Django 2.0的工作方式,以及如何打造具有實用性的高級Web應用程序。
●第1章 構建博客應用程序 11.1 安裝Django 11.1.1 創建隔離的Python環境 21.1.2 利用pip安裝Django 31.2 創建第一個項目 31.2.1 運行開發服務器 51.2.2 項目設置 61.2.3 項目和應用程序 71.2.4 創建應用程序 81.3 設計博客數據方案 81.3.1 激活應用程序 101.3.2 設置並使用遷移方案 111.4 針對模型創建管理站點 121.4.1 創建超級用戶 131.4.2 Django管理站點 131.4.3 向管理站點中添加模型 141.4.4 定制模型的顯示方式 161.5 與QuerySet和管理器協同工作 181.5.1 創建對像 181.5.2 更新對像 191.5.3 獲取對像 201.5.4 刪除對像 211.5.5 評估QuerySet 211.5.6 創建模型管理器 221.6 構建列表和詳細視圖 221.6.1 生成列表和視圖 231.6.2 向視圖添加URL路徑 241.6.3 模型的標準URL 251.7 創建視圖模板 261.8 添加分頁機制 291.9 使用基於類的視圖 311.10 本章小結 33第2章 利用高級特性完善博客程序 352.1 通過電子郵件共享帖子 352.1.1 利用Django創建表單 352.1.2 處理視圖中的表單 362.1.3 利用Django發送郵件 382.1.4 顯示模板中的視圖 402.2 構建評論繫統 442.2.1 創建模型中的表單 462.2.2 處理視圖中的ModelForms 462.2.3 向帖子詳細模板中添加評論 482.3 添加標簽功能 512.4 根據相似性檢索帖子 572.5 本章小結 59第3章 擴展博客應用程序 613.1 創建自定義模板標簽和過濾器 613.1.1 創建自定義模板標簽 613.1.2 創建自定義模板過濾器 663.2 向站點添加網站地圖 683.3 創建帖子提要 723.4 向博客中添加全文本搜索功能 743.4.1 安裝 tgreSQL 743.4.2 簡單的查詢操作 763.4.3 多字段搜索 763.4.4 構建搜索視圖 773.4.5 對結果提取和排名 793.4.6 加權查詢 803.4.7 相似性進行搜索 813.4.8 其他全文本搜索引擎 823.5 本章小結 82第4章 構建社交型網站 834.1 設計社交型網站 834.2 使用Django驗證框架 844.2.1 構建登錄視圖 854.2.2 使用Django驗證視圖 904.2.3 登錄和注銷視圖 914.2.4 修改密碼視圖 964.2.5 重置密碼視圖 984.3 用戶注冊和用戶配置 1034.3.1 用戶注冊 1034.3.2 擴展用戶模型 1074.3.3 使用消息框架 1124.4 構建自定義驗證後端 1144.5 向站點中添加社交網站驗證 1164.5.1 基於Facebook的驗證 1184.5.2 基於Twitter的驗證 1234.5.3 基於Google的驗證 1254.6 本章小結 128第5章 共享網站中的內容 1295.1 構建圖像書簽網站 1295.1.1 構建圖像模型 1305.1.2 生成多對多關繫 1315.1.3 在管理站點中注冊圖像模型 1325.2 發布其他站點中的內容 1325.2.1 清空表單字段 1335.2.2 覆寫ModelForm的save()方法 1345.2.3 利用jQuery構建書簽工具 1385.3 創建圖像的細節視圖 1475.4 利用sorl-thumbnail生成圖像縮略圖 1495.5 利用jQuery添加AJAX操作 1505.5.1 加載jQuery 1515.5.2 AJAX請求中的跨站點請求偽造 1525.5.3 利用jQuery執行AJAX請求 1535.6 針對視圖創建自定義裝飾器 1565.7 向列表視圖中添加AJAX分頁機制 1585.8 本章小結 162第6章 跟蹤用戶活動 1636.1 構建關注繫統 1636.1.1 利用中間模型創建多對多關繫 1636.1.2 針對用戶配置創建列表和詳細視圖 1666.1.3 構建AJAX視圖以關注用戶 1716.2 構建通用活動流應用程序 1736.2.1 使用contenttypes框架 1746.2.2 向模型中添加通用關繫 1756.2.3 避免活動流中的重復內容 1786.2.4 向活動流中添加用戶活動 1796.2.5 顯示活動流 1806.2.6 優化涉及關繫對像的QuerySet 1816.2.7 針對操作活動創建模板 1826.3 利用信號實現反規範化計數 1846.3.1 與信號協同工作 1846.3.2 應用程序配置類 1866.4 利用Redis存儲數據項視圖 1886.4.1 安裝Redis 1886.4.2 結合Python使用Redis 1906.4.3 將數據視圖存儲於Redis中 1916.4.4 將排名結果存儲於數據庫中 1926.4.5 Redis特性 1956.5 本章小結 195第7章 構建在線商店 1977.1 創建在線商店項目 1977.1.1 創建商品目錄模型 1987.1.2 注冊站點上的目錄模型 2007.1.3 構建目錄視圖 2017.1.4 生成目錄模板 2047.2 創建購物車 2087.2.1 使用Django會話 2087.2.2 會話設置 2097.2.3 會話過期 2107.2.4 將購物車存儲於會話中 2107.2.5 創建購物車視圖 2147.2.6 針對購物車創建上下文處理器 2217.3 注冊客戶訂單 2237.3.1 創建訂單模型 2247.3.2 在管理站點中包含訂單模型 2257.3.3 創建自定義訂單 2277.4 利用Celery啟動異步任務 2317.4.1 安裝Celery 2317.4.2 安裝RabbitMQ 2317.4.3 向項目中添加Celery 2327.4.4 向應用程序中添加異步任務 2337.4.5 監視Celery 2357.5 本章小結 235第8章 管理支付操作和訂單 2378.1 整合支付網關 2378.1.1 創建Braintree沙箱賬號 2378.1.2 安裝Braintree Python模塊 2398.1.3 集成支付網關 2398.1.4 支付的測試操作 2478.1.5 注意事項 2498.2 將訂單導出為CSV文件 2498.3 利用自定義視圖擴展管理站點 2528.4 動態生成PDF發票 2578.4.1 安裝WeasyPrint 2578.4.2 創建PDF模板 2578.4.3 顯示PDF文件 2588.4.4 通過電子郵件發送PDF文件 2628.5 本章小結 263第9章 擴展在線商店應用程序 2659.1 創建優惠券繫統 2659.1.1 構建優惠券模型 2669.1.2 在購物車中使用優惠券 2689.1.3 在訂單中使用優惠券 2749.2 添加國際化和本地化機制 2769.2.1 Django的國際化處理 2769.2.2 項目的國際化 2789.2.3 翻譯Python代碼 2799.2.4 翻譯模板 2859.2.5 使用Rosetta 2899.2.6 模糊翻譯 2919.2.7 國際化操作的URL路徑 2929.2.8 切換語言 2949.2.9 利用django-parler翻譯模塊 2959.2.10 本地化格式 3039.2.11 使用django-localflavor驗證表單字段 3049.3 構建推薦引擎 3059.4 本章小結 313第10章 打造網絡教學平臺 31510.1 設置網絡教學項目 31510.2 構建課程模型 31610.2.1 在管理站點中注冊模型 31810.2.2 使用固定文件提供模型的初始數據 31910.3 創建包含多樣化內容的模型 32110.3.1 使用模型繼承機制 32210.3.2 創建內容模型 32410.3.3 創建自定義模型字段 32610.3.4 向模塊和內容對像中添加順序機制 32810.4 創建CMS 33210.4.1 添加驗證繫統 33310.4.2 創建驗證模板 33310.4.3 設置基於類的模板 33610.4.4 針對基於類的視圖使用混合類 33710.4.5 分組和權限 33910.5 管理課程模塊和內容 34610.5.1 針對課程模塊使用表單 34610.5.2 向課程模塊中添加內容 35010.5.3 管理模塊和內容 35510.5.4 對模塊和內容重排序 36010.6 本章小結 363第11章 顯示和緩存內容 36511.1 顯示課程 36511.2 添加學生注冊機制 37011.2.1 創建學生注冊視圖 37011.2.2 注冊課程 37311.3 訪問課程內容 37611.4 使用緩存框架 38211.4.1 有效的緩存後端 38311.4.2 安裝Memcached 38311.4.3 緩存設置 38411.4.4 向項目中添加Memcached 38511.4.5 緩存級別 38611.4.6 使用底層緩存API 38611.4.7 緩存模板片段 38911.4.8 緩存視圖 39011.5 本章小結 392第12章 構建API 39312.1 構建RESTful API 39312.1.1 安裝Django REST框架 39312.1.2 定義序列化器 39412.1.3 理解解析器和渲染器 39512.1.4 構建列表和詳細視圖 39612.1.5 嵌套序列化器 39912.1.6 構建自定義視圖 40012.1.7 處理授權問題 40112.1.8 向視圖中添加授權機制 40212.1.9 創建視圖集合路由器 40412.1.10 向視圖集添加附加操作 40512.1.11 創建自定義授權 40612.1.12 序列化課程內容 40612.2 本章小結 409第13章 部署項目 41113.1 生成產品環境 41113.1.1 針對多種環境管理設置內容 41113.1.2 使用 tgreSQL 41413.1.3 項目檢查 41413.1.4 通過WSGI為Django提供服務 41513.1.5 安裝uWSGI 41513.1.6 配置uWSGI 41513.1.7 安裝NGINX 41713.1.8 產品環境 41813.1.9 配置NGINX 41813.1.10 向靜態和媒體數據集提供服務 42013.1.11 基於SSL的安全連接 42113.2 創建自定義中間件 42313.2.1 創建子域名中間件 42413.2.2 利用NGINX向多個子域名提供服務 42613.3 實現自定義管理命令 42613.4 本章小結 429
本書詳細闡述了與Django開發相關的基本解決方案,主要包括構建博客應用程序、利用高級特性完善博客程序、擴展博客應用程序、構建社交型網站、共享網站中的內容、跟蹤用戶活動、構建在線商店、管理支付操作和訂單、擴展在線商店應用程序、打造網絡教學平臺、顯示和緩存內容、構建API、部署項目等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。本書適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考手冊。
Django是一個功能強大的Python Web框架,支持快速開發過程以及簡潔、實用的設計方案。無論是對於初學者還是專家級程序員,這一特點頗具吸引力。本書將引領讀者學習專業Web應用程序的開發流程。除了框架知識之外,本書還將講解如何將其他較為流行的技術整合至Django項目中。本書將討論真實應用程序的構建過程、常見問題的處理,並逐步實現多種很好實踐 方案。在閱讀完本書後,讀者將能夠理解Django的工作方式,以及如何打造具有實用性的高級Web應用程序。適用讀者本書是針對具備一定的Python知識,同時希望以一種實用的方式學習Django的讀者而準備的。或許,Django對於讀者來說是一項全新的事物;抑或,讀者對此稍有了解且希望進一步學習Django。通過打造實用的開發項目,本書可幫助讀者掌握大部分架構知識。另外,本書要求讀者對某些編程概念有所了解,同時具備一些HTML等