相關主題
商品描述
本書在 Windows 上基於 Python 3.12 與 Django 5.0 對 Django 框架相關的知識進行講解,並以此為基礎利用 Django 框架實現一個完整的電商平台。本書分為 12 章,其中第 1 章主要簡單介紹 Django 框架,包括 Django 框架的安裝,以及使用該框架創建 Django 項目;第 2 ~ 6 章介紹了使用 Django 框架的核心知識,包括路由系統、模型、模板、視圖、身份驗證系統;第 7 ~ 12 章從需求與前期準備著手,逐步實現完整的 Django Web 項目。
本書附有源代碼、測試題、教學課件等資源,為幫助初學者更好地學習本書中的內容,還提供了在線答疑。
本書適合作為高等學校計算機相關專業 Django 框架課程或 Python 進階課程的專用教材,也可供具有 Python 語言基礎的讀者自學
作者簡介
江蘇傳智播客教育科技股份有限公司(簡稱傳智教育)是一家培養高精尖數字化專業人才的公司,主要培養人工智能、大數據、智能制造、軟件開發、區塊鏈、數據分析、網絡營銷、新媒體等領域的人才。傳智教育在教育領域有兩個子品牌:黑馬程序員和院校邦。
目錄大綱
第1章 Django概述 1
1.1 認識Django 1
1.2 安裝Django 2
1.2.1 Django版本選擇 2
1.2.2 創建虛擬Python環境 3
1.2.3 使用pip安裝Django 5
1.3 創建第一個Django項目 6
1.3.1 新建Django項目 6
1.3.2 項目結構說明 8
1.3.3 運行開發服務器 8
1.3.4 Django項目配置 10
1.3.5 在項目中創建應用 12
1.4 Django之MTV模式 14
小結 15
習題 15
第2章 路由系統 17
2.1 認識路由系統 17
2.1.1 HTTP請求處理流程概述 18
2.1.2 URL配置 18
2.2 路由轉換器 20
2.2.1 內置路由轉換器 20
2.2.2 自定義路由轉換器 20
2.3 使用正則表達式匹配URL 22
2.4 路由分發 24
2.5 向視圖函數傳遞額外參數 26
2.6 URL模式命名與命名空間 27
2.6.1 URL模式命名 27
2.6.2 使用reverse()函數反向解析URL 28
2.6.3 應用的命名空間 29
2.6.4 實例命名空間 31
小結 33
習題 33
第3章 模型 35
3.1 定義與使用模型 35
3.2 模型的字段 39
3.2.1 字段類型 39
3.2.2 關系字段 41
3.2.3 字段的通用參數 43
3.3 模型的元屬性 44
3.4 模型管理器 46
3.4.1 重命名管理器名稱 46
3.4.2 自定義管理器 46
3.5 QuerySet對象 47
3.5.1 獲取QuerySet對象 47
3.5.2 QuerySet對象的特性 48
3.6 數據的增刪改查 49
3.7 F對象與Q對象 52
3.8 多表查詢 53
3.9 執行原生SQL語句 56
小結 56
習題 57
第4章 模板 59
4.1 模板引擎與模板文件 59
4.2 模板文件的使用 60
4.3 模板語言 61
4.3.1 變量 62
4.3.2 過濾器 63
4.3.3 標簽 66
4.3.4 自定義過濾器和標簽 71
4.4 模板繼承 77
4.5 Jinja2 79
小結 83
習題 83
第5章 視圖 85
5.1 認識視圖 85
5.2 請求對象 86
5.3 QueryDict對象 90
5.4 響應對象 91
5.4.1 HttpResponse類 91
5.4.2 HttpResponse的子類 94
5.5 生成響應的便捷函數 96
5.5.1 render()函數 96
5.5.2 redirect()函數 98
5.5.3 get_object_or_404()函數 99
5.5.4 get_list_or_404()函數 99
5.6 視圖裝飾器 99
5.7 類視圖 100
5.8 通用視圖 101
5.8.1 通用視圖分類 101
5.8.2 通用顯示視圖與模型 101
5.8.3 修改查詢集結果 101
5.8.4 添加額外的上下文對象 102
5.9 異步視圖 102
小結 102
習題 102
第6章 身份驗證系統 104
6.1 User對象 104
6.2 權限與權限管理 107
6.2.1 默認權限 108
6.2.2 權限管理 108
6.2.3 自定義權限 108
6.3 Web請求認證 108
6.3.1 用戶登錄與退出 108
6.3.2 限制用戶訪問 111
6.4 模板身份驗證 114
6.5 自定義用戶模型 114
6.6 狀態保持 115
6.6.1 Cookie 115
6.6.2 Session 118
小結 122
習題 122
第7章 電商項目——前期準備 124
7.1 項目需求 124
7.2 模塊歸納 133
7.3 項目開發模式與運行機制 134
7.4 項目創建和配置 135
7.4.1 創建項目 135
7.4.2 配置開發環境 135
7.4.3 配置Jinja2模板 136
7.4.4 配置MySQL數據庫 138
7.4.5 配置Redis數據庫 139
7.4.6 配置項目日志 140
7.4.7 配置前端靜態文件 142
7.4.8 配置應用目錄 143
小結 144
習題 144
第8章 電商項目——用戶管理與驗證 145
8.1 定義用戶模型類 145
8.2 用戶注冊 147
8.2.1 用戶注冊邏輯分析 147
8.2.2 用戶注冊後端基礎需求的實現 148
8.2.3 用戶名與手機號唯一性校驗 152
8.2.4 圖形驗證碼 155
8.3 用戶登錄 158
8.3.1 使用用戶名登錄 158
8.3.2 使用手機號登錄 160
8.3.3 狀態保持 161
8.3.4 首頁展示用戶名 162
8.3.5 退出登錄 164
8.4 用戶中心 165
8.4.1 用戶基本信息 165
8.4.2 添加郵箱 168
8.4.3 郵箱驗證 169
8.4.4 省市區三級聯動 175
8.4.5 新增與展示收貨地址 180
8.4.6 設置默認地址與修改地址標題 186
8.4.7 修改與刪除收貨地址 188
8.4.8 修改登錄密碼 191
小結 192
習題 193
第9章 電商項目——商品數據的呈現 194
9.1 商品數據庫表分析 194
9.2 導入商品數據 197
9.3 呈現首頁數據 201
9.3.1 呈現首頁商品分類 201
9.3.2 呈現首頁商品廣告 205
9.4 商品列表 207
9.4.1 商品列表頁分析 207
9.4.2 呈現商品列表頁數據 209
9.4.3 獲取商品分類 213
9.4.4 列表頁面包屑導航 216
9.4.5 列表頁熱銷排行 217
9.5 商品搜索 220
9.5.1 準備搜索引擎 220
9.5.2 渲染商品搜索結果 223
9.5.3 搜索結果分頁 224
9.6 商品詳情 225
9.6.1 展示商品SKU信息 225
9.6.2 展示商品SKU規格 228
9.7 用戶瀏覽記錄 230
9.7.1 瀏覽記錄存儲方案 230
9.7.2 保存和查詢瀏覽記錄 232
小結 234
習題 234
第10章 電商項目——購物車 235
10.1 購物車數據存儲方案 235
10.1.1 登錄用戶購物車數據存儲方案 235
10.1.2 未登錄用戶購物車數據存儲方案 236
10.2 購物車管理 238
10.2.1 購物車添加商品 238
10.2.2 展示購物車商品 242
10.2.3 修改購物車商品 244
10.2.4 刪除購物車商品 247
10.2.5 全選購物車 249
10.2.6 合並購物車 251
10.3 展示購物車縮略信息 252
小結 255
習題 256
第11章 電商項目——訂單 257
11.1 結算訂單 257
11.1.1 接口定義 257
11.1.2 後端邏輯實現 258
11.1.3 前端頁面渲染 262
11.2 提交訂單 264
11.2.1 定義訂單表模型 264
11.2.2 保存訂單信息 266
11.2.3 呈現訂單提交成功頁面 269
11.3 基於事務的訂單數據保存 271
11.3.1 Django中事務的使用 271
11.3.2 使用事務保存訂單數據 271
11.4 基於樂觀鎖的並發下單 273
11.5 查看訂單 276
小結 279
習題 279
第12章 電商項目——支付與評價 280
12.1 支付寶開放平台介紹 280
12.2 對接支付寶 280
12.2.1 支付信息配置 281
12.2.2 訂單支付功能 285
12.2.3 保存訂單支付結果 289
12.3 商品評價 291
12.3.1 評價訂單商品 291
12.3.2 詳情頁展示商品評價 295
12.3.3 商品列表頁展示評價數量 297
小結 297
習題 298
參考文獻 299