書馨卡幫你省薪 2024個人購書報告 2024中圖網(wǎng)年度報告
歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
新時代·技術新未來Django項目開發(fā)實戰(zhàn)(新時代技術新未來)

新時代·技術新未來Django項目開發(fā)實戰(zhàn)(新時代技術新未來)

作者:黃索遠
出版社:清華大學出版社出版時間:2020-06-01
開本: 16開 頁數(shù): 310
中 圖 價:¥55.3(7.0折) 定價  ¥79.0 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
本類五星書更多>

新時代·技術新未來Django項目開發(fā)實戰(zhàn)(新時代技術新未來) 版權信息

新時代·技術新未來Django項目開發(fā)實戰(zhàn)(新時代技術新未來) 本書特色

互聯(lián)網(wǎng)大廠Django實戰(zhàn)經(jīng)驗,思路清晰,案例實用 系統(tǒng):全流程講解Django應用開發(fā),擊破編程難點 專業(yè):凝聚7年Python開發(fā)經(jīng)驗,分享開發(fā)技巧 深入:抽絲剝繭式分析,細致講解源代碼技術原理 全面:列舉常用Web開發(fā)、運維技術,拿來即用

新時代·技術新未來Django項目開發(fā)實戰(zhàn)(新時代技術新未來) 內容簡介

本書將Django框架的特性和Web開發(fā)實戰(zhàn)結合在一起,介紹如何使用Django框架進行Web應用的開發(fā),幫助讀者構建跨平臺的應用程序,節(jié)省使用Django框架開發(fā)Web的寶貴時間。找到針對這些問題的解決方案,大多數(shù)編程難題都會迎刃而解。 本書內容涵蓋表單處理、會話管理、數(shù)據(jù)庫交互、安全防護及程序的部署維護等運維方面的知識,并且介紹了高可用的Web應用原理。在本書中,讀者可以更加方便地找到各種編程問題的解決方案。 本書實用性強,特別適合使用Python/PHP等進行Web開發(fā)的IT從業(yè)者和對Web開發(fā)感興趣的讀者閱讀。

新時代·技術新未來Django項目開發(fā)實戰(zhàn)(新時代技術新未來) 目錄

目 錄


第 1 篇

開發(fā)工具及框架概述


第1章 從零開始學Django 2


1.1 網(wǎng)站運行原理 2


1.1.1 HTTP 2


1.1.2 Web發(fā)展 4


1.1.3 瀏覽器 4


1.1.4 MVC模式 6


1.2 Python Web編程6


1.2.1 通用網(wǎng)關接口 7


1.2.2 WSGI協(xié)議 7


1.2.3 模板引擎 8


1.3 快速上手Django 8


1.3.1 配置開發(fā)環(huán)境 8


1.3.2 創(chuàng)建項目 10


1.3.3 配置說明 11


1.3.4 創(chuàng)建應用 12


1.3.5 啟動開發(fā)服務器 13


1.3.6 編寫一個頁面 13


1.4 總結 14


1.5 練習 14


第 2 篇

項目案例實戰(zhàn)


第2章 構建電商網(wǎng)站 16


2.1 網(wǎng)站需求分析 16


2.1.1 需求 16


2.1.2 需求分析 17


2.2 網(wǎng)站結構 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項目開發(fā)實戰(zhàn)

2.5.3 獲取訂單數(shù)據(jù) 31

2.6 統(tǒng)計模塊 33

2.7 總結 34

2.8 練習 34

第3 章 Django 和數(shù)據(jù)庫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 提交后執(zhí)行操作 46

3.4 數(shù)據(jù)庫并發(fā)控制 47

3.4.1 沖突 47

3.4.2 悲觀鎖 48

3.4.3 樂觀鎖 50

3.4.4 解決沖突 51

3.5 數(shù)據(jù)庫擴展 52

3.5.1 擴展方法 52

3.5.2 讀寫分離 53

3.5.3 垂直分庫 55

3.5.4 水平擴展 57

3.5.5 算法分片 58

3.5.6 動態(tài)分片 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 視圖函數(shù) 69

4.2.1 視圖函數(shù) 69

4.2.2 請求和響應對象 70

4.2.3 模板響應對象 71

4.3 視圖類 72

4.3.1 基本用法 72

4.3.2 視圖類的優(yōu)點 73

4.4 文件上傳 74

4.4.1 文件表單 74

4.4.2 文件存儲 75

4.4.3 使用對象存儲系統(tǒng) 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 模板系統(tǒng) 84

5.2 Django 模板系統(tǒng) 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 網(wǎng)頁表單 96

6.1.1 表單元素 96

6.1.2 提交數(shù)據(jù) 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 動態(tài)表單 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 緩存系統(tǒng) 111

7.1.1 Redis 緩存 111

7.1.2 HTTP 緩存 114

7.2 Django 緩存系統(tǒng) 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 高可用緩存系統(tǒng) 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 消息隊列系統(tǒng) 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項目開發(fā)實戰(zhàn)

8.2.6 *佳實踐 153

8.3 高可用消息隊列 154

8.3.1 RabbitMQ 高可用 154

8.3.2 NSQ 系統(tǒng) 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 數(shù)據(jù)安全 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 會話狀態(tài) 184

10.3 控制策略 186

10.3.1 訪問控制列表 186

10.3.2 Django 權限系統(tǒng) 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 服務網(wǎng)關接口 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 循環(huán)調度算法 237

13.1.2 *少連接調度算法 239

13.1.3 哈希調度算法 240

13.2 網(wǎng)絡冗余 241

13.2.1 網(wǎng)卡綁定 241

13.2.2 虛擬路由器冗余 242

13.3 常用負載均衡器 245

13.3.1 負載均衡器的類型 245

13.3.2 Linux 虛擬服務器246

13.3.3 Nginx 反向代理 250

13.4 服務發(fā)現(xiàn) 252

13.4.1 服務注冊中心 252

13.4.2 注冊服務 254

13.4.3 發(fā)現(xiàn)服務 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 章監(jiān)控277

15.1 監(jiān)控數(shù)據(jù)采集 277

15.1.1 工作指標 277

15.1.2 資源指標 278

15.1.3 事件 279

15.1.4 收集數(shù)據(jù) 280

15.2 告警 281

15.3 使用Prometheus 282

15.3.1 Prometheus 的工作方式282

15.3.2 抓取Linux 系統(tǒng)數(shù)據(jù)284

15.3.3 抓取Nginx 監(jiān)控數(shù)據(jù) 286

15.3.4 抓取MySQL 監(jiān)控數(shù)據(jù) 288

15.3.5 數(shù)據(jù)存儲 289

15.3.6 告警 290

15.4 總結 291

15.5 練習 291

?

第16章 常用工具 292


16.1 Git版本控制系統(tǒng) 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 進程狀態(tài) 299


16.2.3 系統(tǒng)性能 301


16.3 性能剖析 303


16.3.1 調用路徑圖 304


16.3.2 性能測試 306


16.3.3 使用Pyflame生成火焰圖 308


16.4 總結 310


16.5 練習 310


展開全部

新時代·技術新未來Django項目開發(fā)實戰(zhàn)(新時代技術新未來) 作者簡介

黃索遠,2013年開始進入互聯(lián)網(wǎng)行業(yè),多年來一直專注于Python后臺開發(fā)工作,有扎實的理論基礎和豐富的實踐經(jīng)驗。曾在騰訊、字節(jié)跳動公司擔任高級軟件開發(fā)工程師職位。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服