Django 項目開發實戰
黃索遠
買這商品的人也買了...
-
為你自己學 Git$500$390 -
Python 新手使用 Django 架站技術實作:活用 Django 2.0 Web Framework 建構動態網站的 16堂課$690$538 -
$374美團機器學習實踐 -
$194Vue 企業開發實戰 -
網路分析完全實戰手冊 ─ 使用 Wireshark, 2/e (Network Analysis using Wireshark 2 Cookbook, 2/e)$690$538 -
$352Spring Boot + Spring Cloud + Vue + Element 項目實戰:手把手教你開發權限管理系統 -
$352JavaScript + Vue + React 全程實例 -
$505Python Django Web 典型模塊開發實戰 -
$331Python Django開發實戰(視頻講解版) -
$653Django Web 應用開發實戰 -
$236Python Web 開發基礎教程 (Django版)(微課版) -
精通機器學習|使用 Scikit-Learn , Keras 與 TensorFlow, 2/e (Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2/e)$1,200$948 -
Django 從平凡到超凡 - Python 架站實作演練$380$342 -
設計師一定要學的 HTML5 ‧ CSS3 網頁設計手冊 - 零基礎也能看得懂、學得會$580$493 -
精通 Python|運用簡單的套件進行現代運算, 2/e (Introducing Python: Modern Computing in Simple Packages, 2/e)$880$695 -
$305Python Web 開發案例教程 — 使用 Flask、Tornado、Django (慕課版) -
$374PyTorch 深度學習實戰 -
$204精通 Django 3 Web 開發 -
$331PyTorch 深度學習入門與實戰 -
$305Python Web 開發從入門到實戰(Django+Bootstrap)- 微課視頻版 -
$228TensorFlow深度學習應用開發實戰 -
$454Flask Web 開發從入門到精通, 2/e (Flask Framework Cookbook, 2/e) -
$403Python 自動化測試入門與進階實戰 -
$356Django 3.0 入門與實踐 -
Python FastAPI 構建數據科學應用$534$507
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書將Django框架的特性和Web開發實戰結合在一起,介紹如何使用Django框架進行Web應用的開發,
幫助讀者構建跨平臺的應用程序,節省使用Django框架開發Web的寶貴時間。
找到針對這些問題的解決方案,大多數編程難題都會迎刃而解。
本書內容涵蓋表單處理、會話管理、數據庫交互、
安全防護及程序的部署維護等運維方面的知識,並且介紹了高可用的Web應用原理。
在本書中,讀者可以更加方便地找到各種編程問題的解決方案。
本書實用性強,特別適合使用Python/PHP等進行Web開發的IT從業者和對Web開發感興趣的讀者閱讀。
作者簡介
黃索遠
2013年開始進入因特網行業,多年來一直專註於Python後臺開發工作,有紮實的理論基礎和豐富的實踐經驗。
曾在騰訊、字節跳動公司擔任高級軟件開發工程師職位。
目錄大綱
目 錄
第 1 篇開發工具及框架概述
第1章 從零開始學Django 2
1.1 網站運行原理 2
1.1.1 HTTP 2
1.1.2 Web發展 4
1.1.3 瀏覽器 4
1.1.4 MVC模式 6
1.2 Python Web編程6
1.2.1 通用網關接口 7
1.2.2 WSGI協議 7
1.2.3 模板引擎 8
1.3 快速上手Django 8
1.3.1 配置開發環境 8
1.3.2 創建項目 10
1.3.3 配置說明 11
1.3.4 創建應用 12
1.3.5 啟動開發服務器 13
1.3.6 編寫一個頁面 13
1.4 總結 14
1.5 練習 14
第 2 篇項目案例實戰
第2章 構建電商網站 16
2.1 網站需求分析 16
2.1.1 需求 16
2.1.2 需求分析 17
2.2 網站結構 18
2.2.1 分層設計 18
2.2.2 技術選型 19
2.3 用戶模塊 20
2.3.1 Django自帶的用戶模塊 20
2.3.2 一對一擴展用戶模型 22
2.3.3 繼承AbstractBaseUser 25
2.3.4 繼承AbstractUser 27
2.4 商品庫模塊 27
2.4.1 設計模型 28
2.4.2 獲取商品 28
2.5 訂單模塊 29
2.5.1 購物籃模型 29
2.5.2 訂單模型 30
?VI Django項目開發實戰
2.5.3 獲取訂單數據 31
2.6 統計模塊 33
2.7 總結 34
2.8 練習 34
第3 章 Django 和數據庫35
3.1 管理 35
3.1.1 配置 35
3.1.2 連接池 37
3.1.3 更改表結構 38
3.2 查詢 40
3.2.1 保存對象 40
3.2.2 獲取對象 41
3.2.3 懶加載和緩存 42
3.2.4 聚合查詢 43
3.3 事務 44
3.3.1 事務管理 44
3.3.2 自動提交 45
3.3.3 提交後執行操作 46
3.4 數據庫並發控制 47
3.4.1 衝突 47
3.4.2 悲觀鎖 48
3.4.3 樂觀鎖 50
3.4.4 解決衝突 51
3.5 數據庫擴展 52
3.5.1 擴展方法 52
3.5.2 讀寫分離 53
3.5.3 垂直分庫 55
3.5.4 水平擴展 57
3.5.5 算法分片 58
3.5.6 動態分片 60
3.5.7 全局ID 62
3.6 MySQL 實踐 63
3.7 總結 64
3.8 練習 64
第4 章視圖65
4.1 配置URL 65
4.1.1 URL 匹配 65
4.1.2 配置嵌套 66
4.1.3 反向解析URL 67
4.2 視圖函數 69
4.2.1 視圖函數 69
4.2.2 請求和響應對象 70
4.2.3 模板響應對象 71
4.3 視圖類 72
4.3.1 基本用法 72
4.3.2 視圖類的優點 73
4.4 文件上傳 74
4.4.1 文件表單 74
4.4.2 文件存儲 75
4.4.3 使用對象存儲系統 76
4.5 生成文件 79
4.5.1 生成CSV 文件 79
4.5.2 生成PDF 文件 80
4.6 中間件 81
4.7 總結 83
4.8 練習 83
第5 章模板84
5.1 Web 模板系統 84
5.2 Django 模板系統 85
?
目 錄VII
5.2.1 配置 85
5.2.2 模板語言 86
5.3 模板繼承 88
5.4 字符轉義 90
5.5 自定義標籤和過濾器 92
5.5.1 代碼路徑 92
5.5.2 編寫自定義過濾器 93
5.5.3 自定義標籤 93
5.6 總結 95
5.7 練習 95
第6 章表單96
6.1 網頁表單 96
6.1.1 表單元素 96
6.1.2 提交數據 98
6.2 Django 表單 98
6.2.1 處理流程 99
6.2.2 Form 類100
6.2.3 ModelForm 類 102
6.2.4 表單集合 103
6.3 AJAX 表單 105
6.3.1 AJAX 技術105
6.3.2 動態表單 106
6.4 驗證碼 107
6.4.1 表單驗證碼 108
6.4.2 AJAX 驗證碼109
6.5 總結 110
6.6 練習 110
第7 章 Django 和緩存111
7.1 Web 緩存系統 111
7.1.1 Redis 緩存 111
7.1.2 HTTP 緩存 114
7.2 Django 緩存系統 115
7.2.1 配置緩存 116
7.2.2 使用緩存 117
7.2.3 緩存頁面 118
7.2.4 使用HTTP 緩存 120
7.3 緩存替換策略 122
7.4 寫入策略 126
7.4.1 Cache-Aside 模式126
7.4.2 Write-Through 模式 128
7.4.3 Write-Back 模式129
7.5 高可用緩存系統 131
7.5.1 Redis 集群 131
7.5.2 Codis 集群133
7.5.3 緩存穿透和雪崩 134
7.6 總結 135
7.7 練習 135
第8 章 Django 和消息隊列136
8.1 消息隊列 136
8.1.1 消息隊列系統 136
8.1.2 使用消息隊列 138
8.1.3 AMQP 139
8.1.4 使用RabbitMQ 141
8.2 Django 和Celery 框架 143
8.2.1 任務類 143
8.2.2 在Django 中使用Celery 145
8.2.3 定時任務 148
8.2.4 任務路由 150
8.2.5 任務工作流 151
?
VIII Django項目開發實戰
8.2.6 最佳實踐 153
8.3 高可用消息隊列 154
8.3.1 RabbitMQ 高可用 154
8.3.2 NSQ 系統 155
8.4 總結 156
8.5 練習 156
第9 章 Django 與安全157
9.1 安全中間件 157
9.1.1 跨站點腳本防護 157
9.1.2 跨站點偽造請求防護 158
9.1.3 SQL 註入防護 161
9.1.4 點擊劫持 162
9.1.5 訪問白名單 163
9.2 數據安全 164
9.2.1 密碼保護 164
9.2.2 安全連接 166
9.2.3 請求籤名 169
9.2.4 重放攻擊 171
9.3 總結 173
9.4 練習 173
第10 章 Django 和訪問控制174
10.1 認證方式 174
10.1.1 HTTP 基本訪問認證 174
10.1.2 訪問令牌 176
10.1.3 簽名驗證 179
10.1.4 OAuth2 驗證 181
10.2 會話狀態 184
10.3 控制策略 186
10.3.1 訪問控制列表 186
10.3.2 Django 權限系統 188
10.3.3 基於身份的訪問控制 189
10.4 總結 191
10.5 練習 192
第11 章 Django 和測試193
11.1 單元測試 193
11.2 Django 單元測試 194
11.2.1 編寫測試用例 195
11.2.2 運行測試用例 196
11.3 Django 測試工具 198
11.3.1 測試客戶端 198
11.3.2 測試類 200
11.4 Mock 測試 201
11.4.1 Mock 對象 202
11.4.2 模擬返回值 203
11.4.3 副作用 205
11.4.4 限定模擬的範圍 207
11.5 總結 208
11.6 練習 209
第 3 篇高可用技術架構
第12 章 Django 與部署212
12.1 軟件部署 212
12.2 部署Django 213
12.2.1 Web 服務網關接口 214
12.2.2 配置uWSGI 服務器 215
12.2.3 配置Gunicorn 服務器 218
?
目 錄IX
12.2.4 配置Nginx 服務器 223
12.3 服務管理 224
12.3.1 使用Supervisord 管理服務225
12.3.2 使用systemd 管理服務 226
12.4 Django 與虛擬化技術 228
12.4.1 使用Vagrant 部署Django 應用228
12.4.2 使用Docker 部署Django 應用231
12.4.3 Docker 的reap 問題234
12.5 總結 236
12.6 練習 236
第13 章 Django 與負載均衡237
13.1 調度算法 237
13.1.1 循環調度算法 237
13.1.2 最少連接調度算法 239
13.1.3 哈希調度算法 240
13.2 網絡冗餘 241
13.2.1 網卡綁定 241
13.2.2 虛擬路由器冗餘 242
13.3 常用負載均衡器 245
13.3.1 負載均衡器的類型 245
13.3.2 Linux 虛擬服務器246
13.3.3 Nginx 反向代理 250
13.4 服務發現 252
13.4.1 服務註冊中心 252
13.4.2 註冊服務 254
13.4.3 發現服務 256
13.5 總結 259
13.6 練習 260
第14 章 Django 與日誌261
14.1 Python 日誌模塊 261
14.1.1 日誌模塊組件 261
14.1.2 使用日誌模塊 263
14.1.3 配置日誌模塊 266
14.2 Django 日誌工具 267
14.3 日誌管理 268
14.3.1 Elastic 技術棧 269
14.3.2 Elasticsearch 集群 273
14.4 總結 275
14.5 練習 276
第15 章監控277
15.1 監控數據採集 277
15.1.1 工作指標 277
15.1.2 資源指標 278
15.1.3 事件 279
15.1.4 收集數據 280
15.2 告警 281
15.3 使用Prometheus 282
15.3.1 Prometheus 的工作方式282
15.3.2 抓取Linux 系統數據284
15.3.3 抓取Nginx 監控數據 286
15.3.4 抓取MySQL 監控數據 288
15.3.5 數據存儲 289
15.3.6 告警 290
15.4 總結 291
15.5 練習 291
?
第16章 常用工具 292
16.1 Git版本控制系統 292
16.1.1 Git工作方式 292
16.1.2 Gitflow工作流 294
16.1.3 Git日誌用法 296
16.2 Linux常用軟件 297
16.2.1 安全Shell 297
16.2.2 進程狀態 299
16.2.3 系統性能 301
16.3 性能剖析 303
16.3.1 調用路徑圖 304
16.3.2 性能測試 306
16.3.3 使用Pyflame生成火焰圖 308
16.4 總結 310
16.5 練習 310



