定 價:¥139.00
作 者: | (美)安東尼奧·米勒 |
出版社: | 清華大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787302526551 | 出版時間: | 2019-03-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 429 | 字數(shù): |
目 錄
第1章 構(gòu)建博客應(yīng)用程序 1
1.1 安裝Django 1
1.1.1 創(chuàng)建隔離的Python環(huán)境 2
1.1.2 利用pip安裝Django 3
1.2 創(chuàng)建第一個項目 3
1.2.1 運行開發(fā)服務(wù)器 5
1.2.2 項目設(shè)置 6
1.2.3 項目和應(yīng)用程序 7
1.2.4 創(chuàng)建應(yīng)用程序 8
1.3 設(shè)計博客數(shù)據(jù)方案 8
1.3.1 激活應(yīng)用程序 10
1.3.2 設(shè)置并使用遷移方案 11
1.4 針對模型創(chuàng)建管理站點 12
1.4.1 創(chuàng)建超級用戶 13
1.4.2 Django管理站點 13
1.4.3 向管理站點中添加模型 14
1.4.4 定制模型的顯示方式 16
1.5 與QuerySet和管理器協(xié)同工作 18
1.5.1 創(chuàng)建對象 18
1.5.2 更新對象 19
1.5.3 獲取對象 20
1.5.4 刪除對象 21
1.5.5 評估QuerySet 21
1.5.6 創(chuàng)建模型管理器 22
1.6 構(gòu)建列表和詳細視圖 22
1.6.1 生成列表和視圖 23
1.6.2 向視圖添加URL路徑 24
1.6.3 模型的標準URL 25
1.7 創(chuàng)建視圖模板 26
1.8 添加分頁機制 29
1.9 使用基于類的視圖 31
1.10 本章小結(jié) 33
第2章 利用高級特性完善博客程序 35
2.1 通過電子郵件共享帖子 35
2.1.1 利用Django創(chuàng)建表單 35
2.1.2 處理視圖中的表單 36
2.1.3 利用Django發(fā)送郵件 38
2.1.4 顯示模板中的視圖 40
2.2 構(gòu)建評論系統(tǒng) 44
2.2.1 創(chuàng)建模型中的表單 46
2.2.2 處理視圖中的ModelForms 46
2.2.3 向帖子詳細模板中添加評論 48
2.3 添加標簽功能 51
2.4 根據(jù)相似性檢索帖子 57
2.5 本章小結(jié) 59
第3章 擴展博客應(yīng)用程序 61
3.1 創(chuàng)建自定義模板標簽和過濾器 61
3.1.1 創(chuàng)建自定義模板標簽 61
3.1.2 創(chuàng)建自定義模板過濾器 66
3.2 向站點添加網(wǎng)站地圖 68
3.3 創(chuàng)建帖子提要 72
3.4 向博客中添加全文本搜索功能 74
3.4.1 安裝PostgreSQL 74
3.4.2 簡單的查詢操作 76
3.4.3 多字段搜索 76
3.4.4 構(gòu)建搜索視圖 77
3.4.5 對結(jié)果提取和排名 79
3.4.6 加權(quán)查詢 80
3.4.7 利用三元相似性進行搜索 81
3.4.8 其他全文本搜索引擎 82
3.5 本章小結(jié) 82
第4章 構(gòu)建社交型網(wǎng)站 83
4.1 設(shè)計社交型網(wǎng)站 83
4.2 使用Django驗證框架 84
4.2.1 構(gòu)建登錄視圖 85
4.2.2 使用Django驗證視圖 90
4.2.3 登錄和注銷視圖 91
4.2.4 修改密碼視圖 96
4.2.5 重置密碼視圖 98
4.3 用戶注冊和用戶配置 103
4.3.1 用戶注冊 103
4.3.2 擴展用戶模型 107
4.3.3 使用消息框架 112
4.4 構(gòu)建自定義驗證后端 114
4.5 向站點中添加社交網(wǎng)站驗證 116
4.5.1 基于Facebook的驗證 118
4.5.2 基于Twitter的驗證 123
4.5.3 基于Google的驗證 125
4.6 本章小結(jié) 128
第5章 共享網(wǎng)站中的內(nèi)容 129
5.1 構(gòu)建圖像書簽網(wǎng)站 129
5.1.1 構(gòu)建圖像模型 130
5.1.2 生成多對多關(guān)系 131
5.1.3 在管理站點中注冊圖像模型 132
5.2 發(fā)布其他站點中的內(nèi)容 132
5.2.1 清空表單字段 133
5.2.2 覆寫ModelForm的save()方法 134
5.2.3 利用jQuery構(gòu)建書簽工具 138
5.3 創(chuàng)建圖像的細節(jié)視圖 147
5.4 利用sorl-thumbnail生成圖像縮略圖 149
5.5 利用jQuery添加AJAX操作 150
5.5.1 加載jQuery 151
5.5.2 AJAX請求中的跨站點請求偽造 152
5.5.3 利用jQuery執(zhí)行AJAX請求 153
5.6 針對視圖創(chuàng)建自定義裝飾器 156
5.7 向列表視圖中添加AJAX分頁機制 158
5.8 本章小結(jié) 162
第6章 跟蹤用戶活動 163
6.1 構(gòu)建關(guān)注系統(tǒng) 163
6.1.1 利用中間模型創(chuàng)建多對多關(guān)系 163
6.1.2 針對用戶配置創(chuàng)建列表和詳細視圖 166
6.1.3 構(gòu)建AJAX視圖以關(guān)注用戶 171
6.2 構(gòu)建通用活動流應(yīng)用程序 173
6.2.1 使用contenttypes框架 174
6.2.2 向模型中添加通用關(guān)系 175
6.2.3 避免活動流中的重復內(nèi)容 178
6.2.4 向活動流中添加用戶活動 179
6.2.5 顯示活動流 180
6.2.6 優(yōu)化涉及關(guān)系對象的QuerySet 181
6.2.7 針對操作活動創(chuàng)建模板 182
6.3 利用信號實現(xiàn)反規(guī)范化計數(shù) 184
6.3.1 與信號協(xié)同工作 184
6.3.2 應(yīng)用程序配置類 186
6.4 利用Redis存儲數(shù)據(jù)項視圖 188
6.4.1 安裝Redis 188
6.4.2 結(jié)合Python使用Redis 190
6.4.3 將數(shù)據(jù)視圖存儲于Redis中 191
6.4.4 將排名結(jié)果存儲于數(shù)據(jù)庫中 192
6.4.5 Redis特性 195
6.5 本章小結(jié) 195
第7章 構(gòu)建在線商店 197
7.1 創(chuàng)建在線商店項目 197
7.1.1 創(chuàng)建商品目錄模型 198
7.1.2 注冊站點上的目錄模型 200
7.1.3 構(gòu)建目錄視圖 201
7.1.4 生成目錄模板 204
7.2 創(chuàng)建購物車 208
7.2.1 使用Django會話 208
7.2.2 會話設(shè)置 209
7.2.3 會話過期 210
7.2.4 將購物車存儲于會話中 210
7.2.5 創(chuàng)建購物車視圖 214
7.2.6 針對購物車創(chuàng)建上下文處理器 221
7.3 注冊客戶訂單 223
7.3.1 創(chuàng)建訂單模型 224
7.3.2 在管理站點中包含訂單模型 225
7.3.3 創(chuàng)建自定義訂單 227
7.4 利用Celery啟動異步任務(wù) 231
7.4.1 安裝Celery 231
7.4.2 安裝RabbitMQ 231
7.4.3 向項目中添加Celery 232
7.4.4 向應(yīng)用程序中添加異步任務(wù) 233
7.4.5 監(jiān)視Celery 235
7.5 本章小結(jié) 235
第8章 管理支付操作和訂單 237
8.1 整合支付網(wǎng)關(guān) 237
8.1.1 創(chuàng)建Braintree沙箱賬號 237
8.1.2 安裝Braintree Python模塊 239
8.1.3 集成支付網(wǎng)關(guān) 239
8.1.4 支付的測試操作 247
8.1.5 注意事項 249
8.2 將訂單導出為CSV文件 249
8.3 利用自定義視圖擴展管理站點 252
8.4 動態(tài)生成PDF發(fā)票 257
8.4.1 安裝WeasyPrint 257
8.4.2 創(chuàng)建PDF模板 257
8.4.3 顯示PDF文件 258
8.4.4 通過電子郵件發(fā)送PDF文件 262
8.5 本章小結(jié) 263
第9章 擴展在線商店應(yīng)用程序 265
9.1 創(chuàng)建優(yōu)惠券系統(tǒng) 265
9.1.1 構(gòu)建優(yōu)惠券模型 266
9.1.2 在購物車中使用優(yōu)惠券 268
9.1.3 在訂單中使用優(yōu)惠券 274
9.2 添加國際化和本地化機制 276
9.2.1 Django的國際化處理 276
9.2.2 項目的國際化 278
9.2.3 翻譯Python代碼 279
9.2.4 翻譯模板 285
9.2.5 使用Rosetta 289
9.2.6 模糊翻譯 291
9.2.7 國際化操作的URL路徑 292
9.2.8 切換語言 294
9.2.9 利用django-parler翻譯模塊 295
9.2.10 本地化格式 303
9.2.11 使用django-localflavor驗證表單字段 304
9.3 構(gòu)建推薦引擎 305
9.4 本章小結(jié) 313
第10章 打造網(wǎng)絡(luò)教學平臺 315
10.1 設(shè)置網(wǎng)絡(luò)教學項目 315
10.2 構(gòu)建課程模型 316
10.2.1 在管理站點中注冊模型 318
10.2.2 使用固定文件提供模型的初始數(shù)據(jù) 319
10.3 創(chuàng)建包含多樣化內(nèi)容的模型 321
10.3.1 使用模型繼承機制 322
10.3.2 創(chuàng)建內(nèi)容模型 324
10.3.3 創(chuàng)建自定義模型字段 326
10.3.4 向模塊和內(nèi)容對象中添加順序機制 328
10.4 創(chuàng)建CMS 332
10.4.1 添加驗證系統(tǒng) 333
10.4.2 創(chuàng)建驗證模板 333
10.4.3 設(shè)置基于類的模板 336
10.4.4 針對基于類的視圖使用混合類 337
10.4.5 分組和權(quán)限 339
10.5 管理課程模塊和內(nèi)容 346
10.5.1 針對課程模塊使用表單 346
10.5.2 向課程模塊中添加內(nèi)容 350
10.5.3 管理模塊和內(nèi)容 355
10.5.4 對模塊和內(nèi)容重排序 360
10.6 本章小結(jié) 363
第11章 顯示和緩存內(nèi)容 365
11.1 顯示課程 365
11.2 添加學生注冊機制 370
11.2.1 創(chuàng)建學生注冊視圖 370
11.2.2 注冊課程 373
11.3 訪問課程內(nèi)容 376
11.4 使用緩存框架 382
11.4.1 有效的緩存后端 383
11.4.2 安裝Memcached 383
11.4.3 緩存設(shè)置 384
11.4.4 向項目中添加Memcached 385
11.4.5 緩存級別 386
11.4.6 使用底層緩存API 386
11.4.7 緩存模板片段 389
11.4.8 緩存視圖 390
11.5 本章小結(jié) 392
第12章 構(gòu)建API 393
12.1 構(gòu)建RESTful API 393
12.1.1 安裝Django REST框架 393
12.1.2 定義序列化器 394
12.1.3 理解解析器和渲染器 395
12.1.4 構(gòu)建列表和詳細視圖 396
12.1.5 嵌套序列化器 399
12.1.6 構(gòu)建自定義視圖 400
12.1.7 處理授權(quán)問題 401
12.1.8 向視圖中添加授權(quán)機制 402
12.1.9 創(chuàng)建視圖集合路由器 404
12.1.10 向視圖集添加附加操作 405
12.1.11 創(chuàng)建自定義授權(quán) 406
12.1.12 序列化課程內(nèi)容 406
12.2 本章小結(jié) 409
第13章 部署項目 411
13.1 生成產(chǎn)品環(huán)境 411
13.1.1 針對多種環(huán)境管理設(shè)置內(nèi)容 411
13.1.2 使用PostgreSQL 414
13.1.3 項目檢查 414
13.1.4 通過WSGI為Django提供服務(wù) 415
13.1.5 安裝uWSGI 415
13.1.6 配置uWSGI 415
13.1.7 安裝NGINX 417
13.1.8 產(chǎn)品環(huán)境 418
13.1.9 配置NGINX 418
13.1.10 向靜態(tài)和媒體數(shù)據(jù)集提供服務(wù) 420
13.1.11 基于SSL的安全連接 421
13.2 創(chuàng)建自定義中間件 423
13.2.1 創(chuàng)建子域名中間件 424
13.2.2 利用NGINX向多個子域名提供服務(wù) 426
13.3 實現(xiàn)自定義管理命令 426
13.4 本章小結(jié) 429