Django 5+Vue:Python Web全棧開發

馮春龍、楊柳

  • 出版商: 清華大學
  • 出版日期: 2026-01-01
  • 售價: $539
  • 語言: 簡體中文
  • ISBN: 7302705372
  • ISBN-13: 9787302705376
  • 相關分類: DjangoVue.jsPython
  • 下單後立即進貨 (約4週~6週)

  • Django 5+Vue:Python Web全棧開發-preview-1
  • Django 5+Vue:Python Web全棧開發-preview-2
  • Django 5+Vue:Python Web全棧開發-preview-3
Django 5+Vue:Python Web全棧開發-preview-1

相關主題

商品描述

《Django 5+Vue:Python Web全棧開發》是實用性很強的 Django 5+Vue 3全棧開發指南,旨在為 Web 應用的設計、開發和部署過程提供全面的指導。作者結合多年的實戰經驗,深入探討作為一名全棧工程師必備的核心技能,包括掌握後端開發、前端開發、RESTful API設計、數據庫操作、認證授權、性能優化、Docker 部署等方面的技術。本書結合多個實戰項目案例,深入解析各個知識點,幫助讀者輕松地理解 Django和 Vue,並掌握其在真實應用場景中的使用方法、技巧以及工作原理。通過學習本書,讀者可以熟練運用這些知識構建現代化的 Web應用,提高自身的開發能力和職場競爭力。

作者簡介

"馮春龍高級軟件工程師,網易雲課堂「年度名師榜·摯愛名師」。大熊課堂聯合創始人,擁有10多年一線開發與教學經驗,曾在中國銀行負責數據采集服務項目。“用動畫學編程”的推廣者。將抽象的技術知識變得生動、有趣、易於理解。多年來專註於讓編程學習更高效、更有趣,深受學員喜愛。著有多本暢銷編程教材,包括《零基礎學Python》《零基礎學PHP》《Python Web開發從入門到實踐》等。楊柳高級產品經理,教育領域深耕10年。大熊課堂聯合創始人,專註於編程教育與課程研發。長期致力於將復雜的技術知識以清晰、系統、可實踐的方式呈現給學習者。曾打造出多個爆款視頻教程。近年來專註於Python與Django技術的教學與實戰項目開發,具備豐富的一線教學與產品設計經驗。秉持“讓學習變得更簡單、更高效”的理念,致力於用教育的方式傳播技術之美。"

目錄大綱

目錄

第1章 開啟Django 5.0之旅 1

1.1 什麼是 Web 框架 1

1.2 什麼是 Django 2

1.2.1 Django 的核心特點 2

1.2.2 Django 的架構 2

1.2.3 Django 的關鍵組件 3

1.2.4 Django 的使用案例 3

1.3 準備開發環境 4

1.4 虛擬環境下安裝 Django 5 5

1.4.1 為什麼使用虛擬環境 5

1.4.2 創建虛擬環境 5

1.4.3 啟動虛擬環境 6

1.4.4 安裝 Django 5 7

1.5 創建 Django 項目 7

1.5.1 Django 常見命令 8

1.5.2 創建項目 8

1.5.3 關閉服務 9

第2章 Django框架從0到1 10

2.1 Django 的 MVT 模式 10

2.2 Django 項目中創建應用的步驟 11

2.2.1 什麼是 Django 應用 12

2.2.2 創建 Django 應用 12

2.2.3 輸出第一個程序 13

2.3 什麼是 Django 的路由 14

2.4 路由匹配模式 1:精確字符串格式 15

2.5 路由匹配模式 2:路徑轉換器格式 16

2.5.1 定義動態路由 17

2.5.2 定義視圖函數 17

2.5.3 驗證路由 18

2.5.4 添加更多動態變量 18

2.5.5 常見 Django 路徑轉換器類型 19

2.6 路由匹配模式 3:路由嵌套模式 19

2.6.1 創建應用的路由文件 20

2.6.2 全局引入應用的路由文件 20

2.6.3 驗證配置 20

第3章 深入探索Django視圖 22

3.1 基於函數視圖實現登錄功能 22

3.1.1 什麼是函數視圖 22

3.1.2 創建 account 應用 23

3.1.3 創建模板 24

3.1.4 配置模板路徑 24

3.1.5 編寫登錄業務邏輯 25

3.2 基於類視圖實現註冊功能 26

3.2.1 類視圖定義 get()方法 26

3.2.2 配置註冊路由 27

3.2.3 創建註冊模板頁面 27

3.2.4 實現 POST 請求 28

3.2.5 類視圖與函數視圖的對比 28

3.3 HttpRequest 請求對象 28

3.3.1 請求對象的組成部分 29

3.3.2 請求標頭的內容 29

3.3.3 HttpRequest 屬性獲取 META信息 29

3.3.4 使用 HttpRequest.headers 獲取請求標頭 31

3.4 獲取 6 種不同形式的參數 32

3.4.1 獲取 GET 請求參數 32

3.4.2 獲取 POST 請求參數 32

3.4.3 獲取 URL 參數 34

3.4.4 獲取 JSON 參數 34

3.4.5 獲取路徑參數 34

3.4.6 獲取請求標頭參數 35

3.5 HttpResponse 響應對象 35

3.5.1 HttpResponse 35

3.5.2 JsonResponse 37

第4章 Django模板的藝術 39

4.1 Django 模板引擎和配置 39

4.1.1 模板的主要內容 39

4.1.2 模板引擎和配置 40

4.1.3 在應用中配置模板 41

4.1.4 模板優先級 42

4.2 模板中的變量 42

4.2.1 app01 應用創建文章列表 43

4.2.2 模板中傳遞字符串、數字變量 44

4.2.3 模板中傳遞列表類型變量 44

4.2.4 模板中傳遞字典類型變量 45

4.3 模板循環和判斷標簽 47

4.3.1 循環控制標簽 47

4.3.2 遍歷列表或元組 47

4.3.3 遍歷字典 48

4.3.4 重復循環 48

4.3.5 條件控制標簽 50

4.4 Django 模板過濾器 52

4.4.1 模板過濾器語法 52

4.4.2 upper 過濾器 52

4.4.3 default 過濾器 52

4.4.4 truncatechars 過濾器 53

4.4.5 random 過濾器 53

4.4.6 safe 過濾器 54

4.5 Django 模板的繼承與包含 55

4.5.1 創建父模板 56

4.5.2 子模板繼承父模板 56

4.5.3 include 模板引入 57

第5章 輕松掌握Django模型 59

5.1 什麼是 ORM 59

5.1.1 為什麼要使用 ORM 59

5.1.2 ORM 的基本概念 59

5.1.3 ORM 的實際應用 60

5.2 連接 MySQL 數據庫 61

5.2.1 配置 MySQL 數據庫 61

5.2.2 創建 MySQL 數據庫 62

5.2.3 安裝並配置 PyMySQL 63

5.2.4 執行數據庫遷移 63

5.2.5 啟動 Django 服務器 64

5.3 創建模型 64

5.3.1 安裝應用 65

5.3.2 創建 User 模型 65

5.3.3 ORM 常用字段類型及其對應類表 65

5.3.4 創建文章模型 66

5.3.5 數據庫遷移 67

5.4 執行模型遷移 68

5.4.1 自定義數據庫表名 68

5.4.2 執行遷移操作 69

5.4.3 創建通用基類管理公共字段 69

5.4.4 定義抽象基類 69

5.4.5 在其他模型中使用抽象基類 70

5.4.6 生成和執行遷移文件 70

5.5 ORM 新增數據 71

5.5.1 使用 save()方法新增數據 72

5.5.2 使用 create()方法新增數據 72

5.5.3 使用 bulk_create()方法批量新增數據 73

5.5.4 表關聯的使用 73

5.6 ORM 查詢數據 75

5.6.1 all()方法查詢所有用戶 75

5.6.2 get()方法根據條件查詢單條記錄 76

5.6.3 filter()方法匹配查詢條件的模型對象列表 77

5.6.4 first()方法和 last()方法查詢最晚和最早的一條記錄 77

5.7 ORM 查詢條件 78

5.7.1 相等、等於 78

5.7.2 比較條件 78

5.7.3 isnull 判斷 79

5.7.4 包含某些字符 79

5.7.5 以某些字符開頭或結尾 79

5.7.6 日期和時間 80

5.7.7 外鍵關聯 80

5.8 ORM 多條件查詢 81

5.9 ORM 數據修改方法 82

5.9.1 save()方法修改單條記錄 82

5.9.2 update()方法批量修改數據 83

5.9.3 更改關聯表的數據 83

5.10 ORM 刪除數據 84

5.10.1 常見的刪除方式 84

5.10.2 刪除數據 85

第6章 全面管理Django後臺 87

6.1 註冊 Django 後臺模型 87

6.1.1 創建管理員用戶 87

6.1.2 登錄 Django 後臺 88

6.1.3 配置中文界面和時區 88

6.1.4 後臺添加用戶模型 89

6.1.5 後臺進行增刪改查 89

6.1.6 配置過濾字段和搜索功能 92

6.1.7 配置文章應用 92

6.1.8 添加和管理文章 93

6.2 Django 後臺常用配置介紹 94

6.2.1 修改應用名稱 94

6.2.2 修改模型名稱的復數形式 95

6.2.3 設置後臺屬性 96

6.2.4 配置可單擊的鏈接 96

6.2.5 設置列表頁直接修改 97

6.3 完善管理後臺設置函數 98

6.3.1 展示文章作者 98

6.3.2 文章詳情頁顯示作者 100

第7章 Django框架實戰項目:開發企業官網 102

7.1 需求分析 102

7.2 創建項目和應用 103

7.2.1 創建企業官網項目 103

7.2.2 創建 4 個應用 104

7.2.3 配置路由與視圖:輸出第一個“hello world” 104

7.3 配置企業官網數據庫 105

7.3.1 安裝並配置 PyMySQL 105

7.3.2 使用數據庫可視化軟件創建數據庫 105

7.3.3 執行數據庫遷移 106

7.4 創建幻燈片模型 107

7.4.1 創建 Slide 模型類 107

7.4.2 安裝 Pillow 模塊 108

7.4.3 註冊模型到後臺 108

7.4.4 添加幻燈片 109

7.5 幻燈片效果前端顯示 110

7.5.1 在視圖文件中獲取數據庫數據 110

7.5.2 修改模板文件顯示動態數據 110

7.5.3 配置 URL 以顯示媒體文件 111

7.6 團隊介紹模塊實現 112

7.6.1 創建團隊模型 112

7.6.2 註冊團隊模型到後臺管理 113

7.6.3 顯示團隊成員數據 114

7.7 文章管理模塊實現 115

7.7.1 創建分類與新聞模型 115

7.7.2 註冊分類與新聞模型到後臺 116

7.8 新聞列表頁和詳情頁模塊實現 117

7.8.1 配置 URL 路徑 117

7.8.2 創建視圖函數和模板文件 117

7.8.3 處理 404 頁面 119

7.9 使用富文本編輯器 120

7.9.1 安裝與配置 CKEditor 120

7.9.2 修改模型以支持 CKEditor 120

7.9.3 編輯與展示富文本內容 121

第8章 初識Vue 3 123

8.1 Vue的基礎 123

8.2 Vue 的組件化開發 123

8.3 安裝 Vue 124

8.3.1 安裝 Node.js 124

8.3.2 什麼是 NPM 125

8.3.3 安裝 Vue.js 126

8.4 初始化項目 127

8.4.1 項目初始化命令 127

8.4.2 項目目錄結構 127

8.5 使用 Vite 工具安裝 Tailwind CSS 132

8.6 Vue 基礎概念與 Todo 應用 135

8.6.1 Vue 實例與數據綁定 135

8.6.2 列表渲染和條件渲染 136

8.6.3 使用計算屬性計算完成數量 138

8.7 表單處理和添加 Todo 輸入框 140

8.8 組件與通信 143

8.8.1 TodoItem 組件 143

8.8.2 TodoList 組件 144

8.8.3 TodoStats 組件 145

8.8.4 App.vue 根組件 147

8.9 監聽器和本地存儲 148

8.9.1 計算屬性統計各項任務數量 149

8.9.2 監聽和存儲數據 151

第9章 Vue 3開發菜譜網站 155

9.1 項目概述 155

9.1.1 功能需求分析 155

9.1.2 技術棧選擇 156

9.1.3 阿裏雲 API 市場菜譜接口 157

9.1.4 API 接口說明 158

9.2 項目初始化 160

9.2.1 使用 Vite 創建項目 160

9.2.2 項目目錄結構設計 160

9.2.3 路由配置 161

9.2.4 網絡請求封裝 161

9.3 首頁開發 165

9.3.1 頁面布局設計 165

9.3.2 搜索框組件實現 166

9.3.3 搜索歷史實現 169

9.4 搜索結果列表頁 171

9.4.1 列表頁面布局 171

9.4.2 搜索功能實現 172

9.4.3 創建菜品卡片組件 174

9.4.4 加載狀態處理 175

9.4.5 錯誤處理機制 176

9.5 菜品詳情頁 179

9.5.1 詳情頁面布局 179

9.5.2 數據獲取與展示 181

9.5.3 食材清單展示 182

9.5.4 步驟說明實現 183

第10章 初識DRF 185

10.1 REST 架構與 API 設計基礎 185

10.1.1 理解 REST 架構風格 185

10.1.2 RESTful API 設計原則 187

10.1.3 HTTP 方法與 CRUD 操作的對應關系 187

10.2 Django REST Framework 入門 187

10.2.1 DRF 框架概述 187

10.2.2 第一個 DRF 應用 188

10.3 Postman 接口測試工具使用 192

10.3.1 Postman 簡介 192

10.3.2 Postman 的基本使用 192

10.4 序列化與反序列化 194

10.5 視圖組件 196

10.5.1 APIView 詳解 196

10.5.2 GenericAPIView 及其混入類 200

10.5.3 ViewSet 的使用 202

10.5.4 各種視圖的對比 205

10.6 認證與權限 205

10.6.1 認證機制 205

10.6.2 權限控制 210

第11章 DRF+Vue實戰——圖書管理系統 213

11.1 項目概覽與環境搭建 213

11.1.1 需求分析與技術選型 213

11.1.2 後端環境搭建 216

11.1.3 前端環境搭建 216

11.1.4 跨域配置 216

11.2 後端 API 開發 217

11.2.1 數據模型設計 217

11.2.2 序列化器開發 218

11.2.3 API 接口實現 219

11.3 前端開發 221

11.3.1 項目架構 221

11.3.2 核心組件開發 226

第12章 Django Vue全棧項目:電影模塊實現 233

12.1 需求分析 233

12.2 電影模塊概述 235

12.2.1 模塊功能介紹 235

12.2.2 RESTful API 設計 235

12.3 創建電影應用及模型 236

12.3.1 創建應用 236

12.3.2 定義數據模型 236

12.3.3 註冊後臺管理 237

12.3.4 配置全局路由 237

12.4 序列化器與視圖集實現 238

12.4.1 創建序列化器 238

12.4.2 創建視圖集 238

12.4.3 API 接口說明 239

12.5 實現前後端數據交互 239

12.5.1 前端項目結構 240

12.5.2 配置請求工具 240

12.5.3 封裝 API 接口 241

12.5.4 實現電影列表組件 241

12.5.5 配置路由 242

12.6 實現電影首頁 243

12.6.1 組件化結構 243

12.6.2 實現電影列表組件 243

12.7 分頁下拉加載 248

12.7.1 電影分頁 API 實現 248

12.7.2 電影列表組件加載分頁 250

12.7.3 請求工具封裝分頁參數 251

12.8 實現搜索電影功能 252

12.8.1 配置後端過濾接口 252

12.8.2 前端搜索實現 254

12.9 電影詳情頁功能 255

12.9.1 後端接口實現 255

12.9.2 前端頁面實現 256

第13章 Django Vue全棧項目:用戶模塊實現 259

13.1 用戶模塊 djoser 介紹 259

13.1.1 用戶模塊概述 259

13.1.2 djoser 模塊簡介 259

13.1.3 djoser 常用 API 接口 260

13.2 用戶註冊接口實現 261

13.2.1 配置 djoser 模塊並使用User 模型 261

13.2.2 配置郵箱服務器 262

13.2.3 測試用戶註冊功能 263

13.3 用戶註冊信息驗證功能實現 264

13.3.1 配置 djoser 註冊用戶信息 264

13.3.2 自定義序列化器 264

13.4 用戶註冊前端實現 265

13.4.1 註冊頁面布局設計 265

13.4.2 創建註冊頁面 266

13.4.3 表單驗證實現 267

13.4.4 註冊請求實現 269

13.5 郵件激活用戶功能 270

13.5.1 激活路由配置 270

13.5.2 激活頁面實現 271

13.5.3 激活邏輯實現 272

13.6 djoser JWT 認證 273

13.6.1 JWT 認證配置 273

13.6.2 JWT 接口使用 274

13.7 用戶登錄前端實現 276

13.8 退出登錄功能 277

13.8.1 退出登錄功能實現 277

13.8.2 登錄信息清理 278

13.9 JWT token 生命周期管理與自動續期機制實現 278

13.9.1 Django 設置令牌過期時間 278

13.9.2 前端令牌管理實現 278

13.10 發送郵件重置密碼 280

13.10.1 配置重置密碼鏈接 280

13.10.2 驗證請求接口 281

13.10.3 通過郵件重置密碼 282

13.11 API 請求認證實現 283

13.11.1 配置請求認證參數 283

13.11.2 實現請求攔截器 283

13.12 導航守衛權限控制 284

13.12.1 路由守衛配置 284

13.12.2 登錄後跳轉處理 285

13.13 接口權限設置 286

13.13.1 DRF 的權限類 286

13.13.2 自定義權限類 287

第14章 使用Docker部署Django+Vue項目到服務器 288

14.1 項目準備 288

14.2 Docker 基礎知識 289

14.2.1 Docker 簡介 289

14.2.2 Docker Compose 簡介 290

14.3 Docker 配置文件編寫 291

14.3.1 後端 Dockerfile 291

14.3.2 前端 Dockerfile 292

14.3.3 Nginx Dockerfile 293

14.3.4 Nginx 配置文件 293

14.3.5 Docker Compose 配置 294

14.3.6 環境變量配置 296

14.4 服務器部署流程 296

14.4.1 服務器環境準備 296

14.4.2 項目部署 297

14.4.3 初始化數據庫 299

14.4.4 驗證部署 300