關于我們
書單推薦
新書推薦
|
Python Django開發(fā)實戰(zhàn)(視頻講解版)
本書基于Django 2.0,較為全面地介紹了Django 應用的開發(fā)過程、Django 核心模塊的實現(xiàn)原理以及部署應用的相關技巧。全書共14 章,第1 章到第3 章對Django 框架以及開發(fā)環(huán)境配置、項目框架搭建進行了介紹;第4 章到第13 章使用Django 內(nèi)置的核心模塊完成了應用的開發(fā),并對各個模塊的實現(xiàn)原理進行了分析,包括ORM 實現(xiàn)原理、模板系統(tǒng)實現(xiàn)原理、路由系統(tǒng)實現(xiàn)原理、信號工作原理等;第14 章介紹了部署Django 應用的過程。同時,本書針對出現(xiàn)的疑難內(nèi)容,配有視頻講解,以便讀者更好地理解、應用Django 框架。
Python語言的熱度越來越高;赑ython的Web開發(fā)框架也越來越多,其中Django以快速開發(fā)、代碼結(jié)構清晰以及功能齊全等優(yōu)點,成為最受青睞的Web開發(fā)框架。
1. 作者是百度開發(fā)工程師,實際開發(fā)經(jīng)驗豐富。
2. 書中案例來自于實際開發(fā)項目。
3. 配套教學視頻。
大連理工大學畢業(yè),先后在小米、春雨醫(yī)生從事軟件研發(fā)工作,目前在百度從事廣告系統(tǒng)方面的研發(fā)工作,目前是百度高級研發(fā)工程師。 擅長Web站點開發(fā),對Web框架有深入研究,大數(shù)據(jù)相關技術也有一定研究。
第 1 章 初識Django 框架....... 1
1.1 Django 的產(chǎn)生背景........................1
1.1.1 Django 的創(chuàng)建背景......................... 1
1.1.2 Django 的版本發(fā)布過程................. 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 用戶模塊與權限系統(tǒng)...................... 4
1.3.3 Admin 后臺管理系統(tǒng)..................... 4
1.3.4 視圖.................................................. 5
1.3.5 模板系統(tǒng).......................................... 5
1.3.6 優(yōu)雅的表單系統(tǒng)Form ................... 5
1.3.7 信號機制.......................................... 6
1.3.8 路由系統(tǒng).......................................... 7
1.3.9 中間件.............................................. 7
1.3.10 緩存系統(tǒng)........................................ 8
第 2 章 Django 開發(fā)環(huán)境配置 .....................9
2.1 Python 的安裝與配置.....................9
2.1.1 安裝Python .................................... 9
2.1.2 Python 包管理工具......................10
2.2 虛擬環(huán)境的安裝與配置..................11
2.2.1 安裝Virtualenv ............................ 11
2.2.2 創(chuàng)建應用運行的虛擬環(huán)境............ 11
2.3 Django 的安裝與配置...................12
2.4 MySQL 的安裝與配置..................12
2.4.1 安裝MySQL ................................. 13
2.4.2 配置MySQL 環(huán)境變量................. 13
2.4.3 創(chuàng)建work 賬號............................. 14
2.5 PyCharm 的安裝與配置...............15
第 3 章 Django 項目框架搭建 ........................ 16
3.1 Django 管理工具創(chuàng)建項目骨架..... 16
3.1.1 django-admin 創(chuàng)建項目骨架...... 16
3.1.2 settings.py 文件配置項解析....... 17
3.2 修改項目的默認配置.................... 19
3.2.1 配置語言環(huán)境和時區(qū).................... 19
3.2.2 配置開發(fā)數(shù)據(jù)庫............................ 20
3.3 初始化項目環(huán)境............................20
3.3.1 INSTALLED_APPS 中應用的數(shù)據(jù)庫遷移.............. 21
3.3.2 創(chuàng)建超級用戶登錄管理后臺........ 22
3.3.3 給BBS 項目創(chuàng)建應用.................. 23
3.3.4 Python 項目中的requirements.txt文件 .................... 23
3.3.5 將項目裝載到IDE 中................... 24
第 4 章 Django ORM 應用與原理剖析.............25
4.1 構建post 應用需要的數(shù)據(jù)表..........25
4.1.1 post 應用的Models 定義............. 25
4.1.2 post 應用完成數(shù)據(jù)庫遷移........... 27
4.2 Model 相關的概念與使用方法........28
4.2.1 Model 的組成部分........................ 29
4.2.2 Meta 元數(shù)據(jù)類屬性說明.............. 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 創(chuàng)建Model 實例對象...................40
4.3.2 返回單實例的查詢方法................ 41
4.3.3 返回QuerySet 的查詢方法......... 43
4.3.4 返回RawQuerySet 的查詢方法.................... 47
4.3.5 返回其他類型的查詢方法............ 48
4.3.6 存在關聯(lián)關系的查詢.................... 49
4.3.7 F 和Q 查詢.................................... 51
4.3.8 聚合查詢和分組查詢.................... 53
4.4 ORM 實現(xiàn)原理分析......................55
4.4.1 Python 元類.................................. 55
4.4.2 Python 描述符.............................. 57
4.4.3 繼承models.Model....................... 59
4.4.4 實現(xiàn)Manager ............................... 62
4.4.5 一次完整的ORM 實現(xiàn)過程......... 63
第 5 章 Django 管理后臺......67
5.1 將Model 注冊到管理后臺.............67
5.1.1 啟用管理后臺的準備工作............ 67
5.1.2 實現(xiàn)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 管理后臺實現(xiàn)原理分析..................88
5.4.1 Python 裝飾器.............................. 88
5.4.2 contenttypes 應用分析................90
5.4.3 Model 的注冊過程分析................ 93
5.4.4 管理后臺入口實現(xiàn)分析................ 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 動態(tài)路由...................................... 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 的創(chuàng)建過程.......... 131
6.4.4 HttpResponse 的返回過程........ 133
第7 章 Django 模板系統(tǒng).... 135
7.1 模板系統(tǒng)基礎.............................135
7.1.1 初次使用模板系統(tǒng)...................... 135
7.1.2 模板后端的默認配置.................. 137
7.1.3 將模板應用到視圖中.................. 139
7.1.4 RequestContext 和上下文處理器.................... 141
7.2 模板系統(tǒng)語法.............................143
7.2.1 模板變量與替換規(guī)則.................. 143
7.2.2 模板標簽...................................... 146
7.2.3 過濾器.......................................... 152
7.2.4 模板繼承...................................... 154
7.3 模板系統(tǒng)工作原理分析................156
7.3.1 模板文件實現(xiàn)加載的過程.......... 156
7.3.2 模板渲染機制實現(xiàn)分析..............160
第8 章 Django 表單系統(tǒng).... 165
8.1 認識表單...................................165
8.1.1 一個簡單的表單.......................... 165
8.1.2 完善表單處理存在的問題.......... 166
8.2 使用表單系統(tǒng)實現(xiàn)表單................168
8.2.1 使用Form 對象定義表單........... 168
8.2.2 常用的表單字段類型.................. 171
8.2.3 自定義表單字段類型.................. 174
8.2.4 自定義表單的驗證規(guī)則.............. 176
8.2.5 基于Model 定制的表單............. 177
8.3 表單系統(tǒng)的工作原理...................181
8.3.1 表單對象的創(chuàng)建過程.................. 181
8.3.2 表單對象校驗的實現(xiàn)過程.......... 182
8.3.3 表單對象生成HTML 的實現(xiàn)過程......................184
8.3.4 ModelForm 翻譯Model 的實現(xiàn)過程...................... 186
第9 章 用戶認證系統(tǒng).......... 188
9.1 用戶與身份驗證..........................188
9.1.1 用戶與用戶組.............................. 188
9.1.2 用戶身份認證.............................. 191
9.2 權限管理...................................193
9.2.1 定義權限的數(shù)據(jù)表...................... 193
9.2.2 給Model 添加自定義的權限.....194
9.2.3 權限的授予與校驗...................... 195
9.2.4 權限獲取與校驗的實現(xiàn)過程...... 197
9.3 用戶認證系統(tǒng)的應用...................199
9.3.1 自定義認證后端......................... 200
9.3.2 在模板中校驗用戶身份和權限...201
9.3.3 身份驗證視圖..............................202
9.3.4 使用裝飾器限制對視圖的訪問.....................206
第 10 章 Django 路由系統(tǒng)....................209
10.1 路由系統(tǒng)基礎...........................209
10.1.1 認識URLconf........................... 209
10.1.2 URL 模式定義相關的函數(shù)...... 210
10.1.3 路由參數(shù)傳遞............................ 212
10.1.4 自定義錯誤頁面........................ 213
10.2 路由系統(tǒng)工作原理.....................215
10.2.1 偏函數(shù)....................................... 215
10.2.2 實現(xiàn)路由分發(fā)的include函數(shù)............ 216
10.2.3 path 函數(shù)的工作原理............... 217
10.2.4 HTTP 請求查找視圖的實現(xiàn)過程...................... 221
第 11 章 Django 中間件.....223
11.1 中間件基礎..............................223
11.1.1 中間件簡介................................ 223
11.1.2 中間件的鉤子函數(shù).................... 224
11.1.3 自定義中間件............................ 226
11.2 Django 內(nèi)置的中間件...............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 中間件的裝載與執(zhí)行................ 238
第 12 章 Django 信號機制....................242
12.1 信號的概念與應用.....................242
12.1.1 信號的基本概念........................ 242
12.1.2 內(nèi)置的信號................................ 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 單元測試中數(shù)據(jù)庫的配置..................... 265
13.2.3 Django 單元測試的常用測試工具....................... 266
13.2.4 統(tǒng)計測試代碼的覆蓋率............ 267
第 14 章 Django 項目的部署....................270
14.1 理解Python Web 應用.............270
14.1.1 認識WSGI 協(xié)議....................... 270
14.1.2 Python 內(nèi)置的WSGI服務器.................... 271
14.1.3 Django 框架中WSGI 協(xié)議的實現(xiàn)....................... 274
14.2 生產(chǎn)環(huán)境的搭建與配置..............279
14.2.1 Gunicorn 的安裝與配置........... 279
14.2.2 uWSGI 的安裝與配置.............. 282
14.2.3 Nginx 的安裝與配置................ 284
你還可能感興趣
我要評論
|