Python Django開發實戰(視頻講解版)

張虎

  • 出版商: 人民郵電
  • 出版日期: 2019-09-01
  • 售價: $419
  • 貴賓價: 9.5$398
  • 語言: 簡體中文
  • ISBN: 7115515050
  • ISBN-13: 9787115515056
  • 相關分類: DjangoPython 程式語言

立即出貨

買這商品的人也買了...

商品描述

本書基於Django 2.0,較為全面地介紹了Django 應用的開發過程、Django 核心模塊的實現原理以及部署應用的相關技巧。全書共14 章,第1 章到第3 章對Django 框架以及開發環境配置、項目框架搭建進行了介紹;第4 章到第13 章使用Django 內置的核心模塊完成了應用的開發,並對各個模塊的實現原理進行了分析,包括ORM 實現原理、模板系統實現原理、路由系統實現原理、信號工作原理等;第14 章介紹了部署Django 應用的過程。同時,本書針對出現的疑難內容,配有視頻講解,以便讀者更好地理解、應用Django 框架。

作者簡介

大連理工大學畢業,先後在小米、春雨醫生從事軟件研發工作,目前在百度從事廣告系統方面的研發工作,目前是百度高級研發工程師。擅長Web站點開發,對Web框架有深入研究,大數據相關技術也有一定研究。

目錄大綱

第1章初識Django框架....... 1 
1.1 Django的產生背景........................1 
1.1.1 Django的創建背景......................... 1 
1.1.2 Django的版本發布過程.............. ... 2 
1.2 MTV設計模式...............................2 
1.2.1熟悉的MVC設計模式.. ................. 2 
1.2.2 Django的MTV設計模式............. 3 
1.3 Django提供的主要功能模塊... ........3 
1.3.1 Django中的ORM ......................... 3 
1.3.2用戶模塊與權限系統...................... 4 
1.3.3 Admin後台管理系統................... .. 4 
1.3.4視圖................................... 5 
1.3.5模板系統................................ 5 
1.3.6優雅的表單系統Form ................... 5
1.3.7信號機制................................. 6 
1.3. 8路由系統................................ 7 
1.3.9中間件................................... 7 
1.3. 10緩存系統................................ 8 

第2章Django開發環境配置.....................9 
2.1 Python的安裝與配置..................... 9 
2.1.1安裝Python ............................... 9 
2.1.2 Python包管理工具......................10 
2.2虛擬環境的安裝與配置..................11 
2.2 .1安裝Virtualenv ............................ 11 
2.2.2創建應用運行的虛擬環境........ .... 11 
2.3 Django的安裝與配置...................12 
2.4 MySQL的安裝與配置............. .....12 
2.4.1安裝MySQL ................................. 13
2.4.2配置MySQL環境變量................. 13 
2.4.3創建work賬號................... .......... 14 
2.5 PyCharm的安裝與配置...............15 

第3章Django項目框架搭建.......... .............. 16 
3.1 Django管理工具創建項目骨架..... 16 
3.1.1 django-admin創建項目骨架...... 16 
3.1.2 settings.py文件配置項解析....... 17 
3.2修改項目的默認配置.................... 19 
3.2.1配置語言環境和時區... ................. 19 
3.2.2配置開發數據庫.......................... .. 20 
3.3初始化項目環境............................20 
3.3.1 INSTALLED_APPS中應用的數據庫遷移..... ......... 21 
3.3.2創建超級用戶登錄管理後台........ 22 
3.3.3給BBS項目創建應用.............. .... 23 
3.3.4 Python項目中的requirements.txt文件............. 23 
3.3.5將項目裝載到IDE中.... ............... 24

第4章Django ORM應用與原理剖析.............25 
4.1構建post應用需要的數據表..........25 
4.1.1 post應用的Models定義............. 25 
4.1.2 post應用完成數據庫遷移........... 27 
4.2 Model相關的概念與使用方法........ 28 
4.2.1 Model的組成部分........................ 29 
4.2.2 Meta元數據類屬性說明........ ...... 30 
4.2.3 Field的通用字段選項.................. 32 
4.2.4基礎字段類型.......... ...................... 33 
4.2.5三種關係字段類型................... ..... 35 
4.2.6 Model的繼承模型........................ 38 
4.3 Model的查詢操作API ...... .......... 40 
4.3.1創建Model實例對象...................40 
4.3.2返回單實例的查詢方法... ............. 41 
4.3.3返回QuerySet的查詢方法......... 43 
4.3.4返回RawQuerySet的查詢方法.......... .......... 47
4.3.5返回其他類型的查詢方法............ 48 
4.3.6存在關聯關係的查詢.................... 49 
4.3.7 F和Q查詢.................................... 51 
4.3.8聚合查詢和分組查詢.................... 53 
4.4 ORM實現原理分析..................... .55 
4.4.1 Python元類.................................. 55 
4.4.2 Python描述符. ............................. 57 
4.4.3繼承models.Model............. .......... 59 
4.4.4實現Manager ............................... 62 
4.4. 5一次完整的ORM實現過程......... 63 

第5章Django管理後台......67 
5.1將Model註冊到管理後台............. 67 
5.1.1啟用管理後台的準備工作............ 67 
5.1.2實現Model的註冊.................... ... 69 
5.2使用管理後台操作Model對象實例........................70 
5.2.1管理後台中的基本操作.... ............70
5.2.2管理後台操作歷史........................ 73 
5.3使用ModelAdmin自定義管理後台........... ............75 
5.3.1註冊Model到Admin的兩種方式........................ 75 
5.3 .2 ModelAdmin的常用屬性............. 76 
5.4管理後台實現原理分析..................88 
5.4.1 Python裝飾器.............................. 88 
5.4.2 contenttypes應用分析............ ....90 
5.4.3 Model的註冊過程分析................ 93 
5.4.4管理後台入口實現分析............ .... 94 
5.4.5 Django加載應用admin的過程分析................ 96 

第6章視圖.............. ..........99 
6.1視圖初探.................................... 99 
6.1.1定義第一個視圖............................ 99 
6.1.2視圖的請求與響應對象... ........... 101 
6.1.3基於類的視圖.............................. 105
6.1.4動態路由...................................... 106 
6.1.5給post應用添加視圖................ 109 
6.2視圖的高級特性和快捷方法..........113 
6.2.1 URL的反向解析.... ..................... 113 
6.2.2視圖重定向...................... ............ 115 
6.2.3常用的快捷方法.......................... 116 
6.3基於類的通用視圖......................118 
6.3.1用於渲染模板的TemplateView ............... ... 118 
6.3.2用於重定向的RedirectView..... 120 
6.3.3用於展示Model列表的ListView ............... 122 
6.3.4用於展示Model詳情的DetailView................... 125 
6.4視圖工作原理分析.................... ..127 
6.4.1解決一鍵多值問題的QueryDict.................... 128 
6.4.2類視圖基類View源碼分析..... .. 130 
6.4.3 HttpRequest的創建過程.......... 131
6.4.4 HttpResponse的返回過程........ 133 

第7章Django模板系統.... 135 
7.1模板系統基礎................... ..........135 
7.1.1初次使用模板系統...................... 135 
7.1.2模板後端的默認配置. ................. 137 
7.1.3將模板應用到視圖中.................. 139 
7.1.4 RequestContext和上下文處理器.................... 141 
7.2模板系統語法..................... ........143 
7.2.1模板變量與替換規則.................. 143 
7.2.2模板標籤......... ............................. 146 
7.2.3過濾器............... ........................... 152 
7.2.4模板繼承................. ..................... 154 
7.3模板系統工作原理分析................156 
7.3.1模板文件實現加載的過程.......... 156 
7.3.2模板渲染機制實現分析..............160 

第8章Django表單系統.... 165
8.1認識表單...................................165 
8.1.1一個簡單的表單.... ...................... 165 
8.1.2完善表單處理存在的問題.......... 166 
8.2使用表單系統實現表單. ...............168 
8.2.1使用Form對象定義表單........... 168 
8.2.2常用的表單字段類型...... ............ 171 
8.2.3自定義表單字段類型.................. 174 
8.2.4自定義表單的驗證規則. ............. 176 
8.2.5基於Model定制的表單............. 177 
8.3表單系統的工作原理........ ...........181 
8.3.1表單對象的創建過程.................. 181 
8.3.2表單對象校驗的實現過程. ......... 182 
8.3.3表單對像生成HTML的實現過程......................184 
8.3.4 ModelForm翻譯Model的實現過程...................... 186 

第9章用戶認證系統.......... 188 
9.1用戶與身份驗證... .......................188
9.1.1用戶與用戶組.............................. 188 
9.1.2用戶身份認證...... ........................ 191 
9.2權限管理...................... .............193 
9.2.1定義權限的數據表...................... 193 
9.2.2給Model添加自定義的權限.....194 
9.2.3權限的授予與校驗...................... 195 
9.2.4權限獲取與校驗的實現過程...... 197 
9.3用戶認證系統的應用...................199 
9.3.1自定義認證後端..... .................... 200 
9.3.2在模板中校驗用戶身份和權限...201 
9.3.3身份驗證視圖....... .......................202 
9.3.4使用裝飾器限制對視圖的訪問............... ......206 

第10章Django路由系統....................209 
10.1路由系統基礎............ ...............209 
10.1.1認識URLconf........................... 209 
10.1 .2 URL模式定義相關的函數...... 210
10.1.3路由參數傳遞............................ 212 
10.1.4自定義錯誤頁面........ ................ 213 
10.2路由系統工作原理.....................215 
10.2.1偏函數. ...................................... 215 
10.2.2實現路由分發的include函數.. .......... 216 
10.2.3 path函數的工作原理............... 217 
10.2.4 HTTP請求查找視圖的實現過程..... ................. 221 

第11章Django中間件.....223 
11.1中間件基礎................ ..............223 
11.1.1中間件簡介............................. ... 223 
11.1.2中間件的鉤子函數.................... 224 
11.1.3自定義中間件.......... .................. 226 
11.2 Django內置的中間件...............228 
11.2.1會話中間件SessionMiddleware .. ............... 229 
11.2.2身份認證中間件AuthenticationMiddleware .... 234
11.3中間件的工作原理....................236 
11.3.1責任鏈設計模式................ ........ 236 
11.3.2中間件基類MiddlewareMixin .................... 237 
11.3.3中間件的裝載與執行... ............. 238 

第12章Django信號機制....................242 
12.1信號的概念與應用... ..................242 
12.1.1信號的基本概念........................ 242 
12.1.2內置的信號................................ 243 
12.1.3自定義信號.... ............................246 
12.2信號的工作原理................ ........247 
12.2.1觀察者設計模式........................ 247 
12.2.2 Python中的弱引用. .................248 
12.2.3 Python線程同步機制..............250 
12.2.4信號的工作過程... ..................... 252 

第13章單元測試.............. 257 
13.1初識單元測試... ........................257
13.1.1單元測試的基本概念................ 257 
13.1.2 unittest模塊的使用方法......... 258 
13.1.3給Django項目編寫單元測試....................260 
13.2單元測試的相關特性.................262 
13.2.1 unittest測試框架的特性......... 263 
13.2.2 Django單元測試中數據庫的配置..................... 265 
13.2.3 Django單元測試的常用測試工具....................... 266 
13.2.4統計測試代碼的覆蓋率.......... .. 267 

第14章Django項目的部署....................270 
14.1理解Python Web應用.............270 
14.1.1認識WSGI協議....................... 270 
14.1.2 Python內置的WSGI服務器............ ........ 271 
14.1.3 Django框架中WSGI協議的實現....................... 274 
14.2生產環境的搭建與配置..............279 
14.2.1 Gunicorn的安裝與配置........... 279 
14.2.2 uWSGI的安裝與配置....... ....... 282
14.2.3 Nginx 的安裝與配置................ 284