Django 5 Web 應用開發實戰

黃永祥

  • 出版商: 清華大學
  • 出版日期: 2024-05-01
  • 售價: $774
  • 貴賓價: 9.5$735
  • 語言: 簡體中文
  • ISBN: 7302661839
  • ISBN-13: 9787302661832
  • 相關分類: Django
  • 立即出貨 (庫存 < 3)

  • Django 5 Web 應用開發實戰-preview-1
  • Django 5 Web 應用開發實戰-preview-2
  • Django 5 Web 應用開發實戰-preview-3
Django 5 Web 應用開發實戰-preview-1

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

商品描述

《Django 5 Web應用開發實戰》集Django架站基礎、項目實踐、開發經驗於一體,是一本從零基礎到精通Django Web企業級開發技術的實戰指南。《Django 5 Web應用開發實戰》內容以Python 3.x和Django 5版本為基礎,從Django 5構建項目開始,逐步深入講述Django框架的各項功能要點,每個功能要點從源碼角度分析,並在源碼的基礎上實現自定義的功能開發。還介紹了Django的第三方功能應用,如DRF框架開發API接口、生成網站驗證碼、站內搜索引擎、第三方網站實現賬號註冊、異步任務和定時任務、即時通信實現在線聊天,同時介紹了當前流行的前後端分離模式和微服務架構網站的開發,《Django 5 Web應用開發實戰》還提供了兩個完整的Web實戰案例:博客系統和音樂網站平臺,從中讀者可以學習瞭解網站開發的全流程,最後介紹了Django項目的上線部署。 《Django 5 Web應用開發實戰》註重案例教學,講解深入淺出,非常易於上手,適合有一定Python基礎的開發人員和在校學生學習,也可以用作培訓機構和大中專院校Web項目開發的教學實踐用書。

目錄大綱

目    錄

第 1 章  走進Django 5 1

1.1  Django 5的新特性 1

1.2  安裝Django 5 4

1.3  創建項目 4

1.4  PyCharm創建項目 6

1.5  初試Django 5 7

1.5.1  Django的操作指令 8

1.5.2  開啟Hello World之旅 9

1.6  調試Django項目 11

1.6.1  PyCharm斷點調試 11

1.6.2  調試異常 13

1.7  本章小結 15

第 2 章 配置Django項目 16

2.1  基本配置信息 16

2.2  資源文件配置 18

2.2.1  資源路由——STATIC_URL 18

2.2.2  資源集合——STATICFILES_DIRS 19

2.2.3  資源部署——STATIC_ROOT 20

2.2.4  媒體資源——MEDIA 20

2.3  模板配置 21

2.4  數據庫配置 22

2.4.1  mysqlclient連接MySQL 22

2.4.2  pymysql連接MySQL 24

2.4.3  多個數據庫的連接方式 24

2.4.4  使用配置文件動態連接數據庫 25

2.4.5  通過SSH隧道遠程連接MySQL 27

2.5  中間件 29

2.6  本章小結 31

第 3 章 路由的編寫規則與使用 32

3.1  路由定義規則 32

3.1.1  Django的路由定義 32

3.1.2  路由變量的設置 34

3.1.3  正則表達式的路由定義 36

3.2  命名空間與路由命名 37

3.2.1  命名空間namespace 37

3.2.2  路由命名name 39

3.3  路由的使用方式 40

3.3.1  在模板中使用路由 40

3.3.2  反向解析reverse與resolve 43

3.3.3  路由重定向 46

3.4  本章小結 47

第 4 章 簡單直觀的FBV視圖 49

4.1  設置響應方式 49

4.1.1  返回響應內容 49

4.1.2  設置重定向 52

4.1.3  異常響應 54

4.1.4  文件下載功能 57

4.2  HTTP請求對象 60

4.2.1  獲取請求信息 60

4.2.2  文件上傳功能 64

4.2.3  Cookie實現反爬蟲 68

4.2.4  請求頭實現反爬蟲 74

4.3  本章小結 77

第 5 章 更現代的CBV視圖 78

5.1  數據顯示視圖 78

5.1.1  重定向視圖RedirectView 78

5.1.2  基礎視圖TemplateView 80

5.1.3  列表視圖ListView 83

5.1.4  詳細視圖DetailView 87

5.2  數據操作視圖 89

5.2.1  表單視圖FormView 90

5.2.2  新增視圖CreateView 92

5.2.3  修改視圖UpdateView 94

5.2.4  刪除視圖DeleteView 96

5.3  日期篩選視圖 98

5.3.1  月份視圖MonthArchiveView 100

5.3.2  周期視圖WeekArchiveView 105

5.4  本章小結 107

第 6 章 深入理解模板 108

6.1  Django模板引擎 108

6.1.1  模板上下文 108

6.1.2  自定義標簽 110

6.1.3  模板繼承 113

6.1.4  自定義過濾器 115

6.2  Jinja2模板引擎 119

6.2.1  安裝與配置 120

6.2.2  模板語法 123

6.2.3  自定義過濾器 125

6.3  本章小結 126

第 7 章 模型與數據庫 127

7.1  模型定義與數據遷移 127

7.1.1  定義模型 127

7.1.2  開發個人的ORM框架 131

7.1.3  數據遷移 134

7.1.4  數據導入與導出 137

7.2  數據表關系 138

7.3  數據表操作 142

7.3.1  數據新增 143

7.3.2  數據修改 145

7.3.3  數據刪除 146

7.3.4  數據查詢 147

7.3.5  多表查詢 150

7.3.6  執行SQL語句 154

7.3.7  數據庫事務 156

7.4  多數據庫的連接與使用 158

7.4.1  多數據庫的連接 158

7.4.2  多數據庫的使用 161

7.5  動態創建模型與數據表 163

7.6  MySQL分表功能 165

7.7  本章小結 169

第 8 章 表單與模型 170

8.1  初識表單 170

8.2  源碼分析Form 173

8.3  源碼分析ModelForm 180

8.4  在視圖里使用Form 184

8.5  在視圖里使用ModelForm 186

8.6  同一網頁多個表單 188

8.7  一個表單多個按鈕 191

8.8  表單的批量處理 192

8.9  多文件批量上傳 196

8.10  本章小結 202

第 9 章 Admin後台系統 203

9.1  走進Admin 203

9.2  源碼分析ModelAdmin 206

9.3  Admin首頁設置 211

9.4  Admin的二次開發 212

9.4.1  函數get_readonly_fields() 213

9.4.2  設置字段樣式 214

9.4.3  函數get_queryset() 215

9.4.4  函數formfield_for_foreignkey() 216

9.4.5  函數formfield_for_choice_field() 217

9.4.6  函數save_model() 218

9.4.7  數據批量操作 219

9.4.8  自定義Admin模板 220

9.4.9  自定義Admin後台系統 222

9.5  本章小結 227

第 10 章 Auth認證系統 228

10.1  內置User實現用戶管理 228

10.2  發送郵件實現密碼找回 236

10.3  模型User的擴展與使用 241

10.4  權限的設置與使用 248

10.5  自定義用戶權限 250

10.6  設置網頁的訪問權限 251

10.7  用戶組的設置與使用 257

10.8  本章小結 260

第 11 章 優化網站性能的Web程序 261

11.1  會話控制 261

11.1.1  會話的配置與操作 261

11.1.2  使用會話實現商品搶購 264

11.2  緩存機制 269

11.2.1  緩存的類型與配置 270

11.2.2  緩存的使用 272

11.3  CSRF防護 275

11.4  消息框架 278

11.4.1  源碼分析消息框架 278

11.4.2  消息框架的使用 279

11.5  分頁功能 283

11.5.1  源碼分析分頁功能 283

11.5.2  分頁功能的使用 286

11.6  國際化和本地化 289

11.6.1  環境搭建與配置 290

11.6.2  設置國際化 291

11.6.3  設置本地化 292

11.7  單元測試 294

11.7.1  定義測試類 294

11.7.2  運行測試用例 300

11.8  自定義中間件 301

11.8.1  中間件的定義過程 301

11.8.2  中間件實現Cookie反爬蟲 305

11.9  異步編程 307

11.9.1  使用多線程 307

11.9.2  啟用ASGI服務 310

11.9.3  異步視圖 310

11.9.4  異步與同步的轉換 313

11.10  信號機制 314

11.10.1  內置信號 314

11.10.2  自定義信號 317

11.10.3  訂單的創建與取消 320

11.11  本章小結 323

第 12 章 擴展網站功能的第三方應用 324

12.1  Django Rest Framework框架 324

12.1.1  DRF的安裝與配置 324

12.1.2  序列化類Serializer 326

12.1.3  模型序列化類ModelSerializer 330

12.1.4  序列化的嵌套使用 332

12.2  驗證碼生成與使用 335

12.2.1  Django Simple Captcha的安裝與配置 336

12.2.2  使用驗證碼實現用戶登錄 338

12.3  站內搜索引擎 342

12.3.1  Django Haystack的安裝與配置 342

12.3.2  使用搜索引擎實現產品搜索 345

12.4  第三方網站實現用戶註冊 349

12.4.1  Social-Auth-App-Django的安裝與配置 350

12.4.2  微博賬號實現用戶註冊 353

12.5  異步任務和定時任務 355

12.5.1  Celery的安裝與配置 355

12.5.2  異步任務 357

12.5.3  定時任務 359

12.6  即時通信——在線聊天 361

12.6.1  Channels的安裝與配置 362

12.6.2  Web在線聊天功能 365

12.7  本章小結 368

第 13 章 博客系統的設計與實現 370

13.1  項目設計與配置 370

13.1.1  項目架構設計 373

13.1.2  功能配置 374

13.1.3  數據表架構設計 376

13.1.4  定義路由列表 379

13.1.5  編寫共享模板 379

13.2  註冊與登錄 382

13.3  博主資料信息 387

13.4  圖片牆功能 388

13.5  留言板功能 391

13.6  文章列表 394

13.7  文章正文內容 397

13.8  Admin後台系統 400

13.8.1  模型的數據管理 401

13.8.2  自定義Admin的登錄頁面 404

13.8.3  Django CKEditor生成文章編輯器 406

13.9  測試與部署 409

13.9.1  測試業務邏輯 409

13.9.2  上線部署 413

13.10  本章小結 414

第 14 章 音樂網站平臺的設計與實現 415

14.1  項目設計與配置 415

14.1.1  項目架構設計 419

14.1.2  功能配置 420

14.1.3  數據表架構設計 422

14.1.4  定義路由列表 425

14.1.5  編寫共享模板 426

14.2  網站首頁 427

14.3  歌曲排行榜 432

14.4  歌曲搜索 436

14.5  歌曲播放與下載 440

14.6  歌曲點評 446

14.7  註冊與登錄 451

14.8  用戶中心 455

14.9  Admin後台系統 459

14.10  自定義異常頁面 461

14.11  部署與運行 463

14.11.1  上線部署 463

14.11.2  網站試運行 464

14.12  本章小結 465

第 15 章 基於前後端分離與微服務架構的網站開發 466

15.1  Vue開發用戶界面 466

15.1.1  Vue開發產品信息頁 466

15.1.2  Vue發送AJAX請求 469

15.2  Django開發API接口 470

15.2.1  簡化Django內置功能 470

15.2.2  設置跨域訪問 471

15.2.3  使用路由視圖開發API接口 473

15.2.4  DRF框架開發API接口 475

15.3  微服務架構 476

15.3.1  微服務實現原理 477

15.3.2  功能拆分 479

15.3.3  設計API網關 483

15.3.4  調試與運行 485

15.4  JWT認證 486

15.4.1  認識JWT 487

15.4.2  DRF的JWT 487

15.5  微服務註冊與發現 495

15.5.1  常用的服務註冊與發現框架 495

15.5.2  Consul的安裝與接口 496

15.5.3  Django與Consul的交互 499

15.5.4  服務的運行與部署 505

15.5.5  服務的負載均衡 508

15.5.6  Django與Consul部署配置 508

15.6  本章小結 510

第 16 章 項目上線部署 511

16.1  基於Windows的項目部署 511

16.1.1  安裝IIS服務器 511

16.1.2  創建項目站點 512

16.1.3  配置靜態資源 514

16.2  基於Docker的項目部署 515

16.2.1  安裝Docker 515

16.2.2  Docker常用指令 517

16.2.3  安裝MySQL 520

16.2.4  使用Docker Compose部署 523

16.3  本章小結 530