Django 5 Web 應用開發實戰
黃永祥
買這商品的人也買了...
-
$380$342 -
$509Bootstrap + Vue.js 前端開發超實用代碼集錦
-
$403Python 自動化測試入門與進階實戰
-
$607精通 Python 自動化編程
-
$480$408 -
$407OpenCV 圖像處理入門與實踐
-
$768$730 -
$630$498 -
$479$455 -
$2,100$1,995 -
$594$564 -
$556Django + Vue.js 商城項目實戰
-
$650$507 -
$680$537 -
$356React Native 移動開發實戰, 3/e
-
$539$512 -
$594$564 -
$779$740 -
$474$450 -
$580$458 -
$839$797 -
$534$507 -
$820$648 -
$680$537 -
$1,800$1,422
相關主題
商品描述
《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