Django Web套用開發實戰

Django Web套用開發實戰

《Django Web套用開發實戰》是2019年12月清華大學出版社出版的圖書,作者是黃永祥。

基本介紹

  • 中文名:Django Web套用開發實戰
  • 作者:黃永祥
  • 出版社清華大學出版社
  • ISBN:9787302539780 
內容簡介,目錄,

內容簡介

本書由一線資深軟體工程師結合多年Python開發經驗傾力編撰,集Django架站、案例實踐、前瞻技術於一體,是一本精通DjangWeb開發的技術總結。全書以Python3.7和Django2.2版本實現,從網站開發入門開始,逐步深入講述Django框架的各功能要點,每個功能要點從源碼角度分析,並在源碼的基礎上實現自定義的功能開發。還介紹了Django的第三方功能套用,如DRF框架開發API接口、生成網站驗證碼、站內搜尋引擎、第三方網站實現賬號註冊、分散式任務和定時任務、即時通信實現線上聊天。
本書提供了4個實戰案例,包括信息反饋平台、部落格系統、音樂網站平台、前後端分離與微服務架構,涵蓋了網站的單體式開發、前後端分離和微服務開發,從單一的網站開發轉變到網站架構設計開發。最後講述Django的上線部署方案,分別講述Django如何部署在Windows和Linux系統上。
本書注重案例教學,講解深入淺出,適合有一定Python基礎的開發人員和網站開發人員閱讀,也可用作培訓機構和大中專院校相關專業的教學參考書。

目錄

第1章Django建站基礎 1
1.1網站的定義及組成 1
1.2網站的分類 2
1.3網站運行原理及開發流程 4
1.3.1常用術語 4
1.3.2網站的運行原理 4
1.3.3網站的開發流程 5
1.3.4任務劃分 5
1.4走進Django 6
1.5Django2的新特性 6
1.6安裝Django 7
1.7創建項目 8
1.8PyCharm創建項目 10
1.9Django入門基礎 11
1.9.1Django的操作指令 11
1.9.2開啟HelloWorld之旅 13
1.10調試Django項目 15
1.10.1PyCharm斷點調試 15
1.10.2調試異常 17
1.11本章小結 19
第2章Django配置信息 22
2.1基本配置信息 22
2.2資源檔案配置 24
2.2.1資源路由——STATIC_URL 24
2.2.2資源集合——STATICFILES_DIRS 25
2.2.3資源部署——STATIC_ROOT 26
2.2.4媒體資源——MEDIA 27
2.3模板配置 28
2.4資料庫配置 30
2.4.1mysqlclient連線MySQL 30
2.4.2pymysql連線MySQL 32
2.4.3多個資料庫的連線方式 33
2.5中間件 34
2.6本章小結 35
第3章初探路由 37
3.1路由定義規則 37
3.1.1Django2.X路由定義 37
3.1.2Django1.X路由定義 40
3.1.3路由變數的設定 41
3.1.4正則表達式的路由定義 44
3.2命名空間與路由命名 45
3.2.1命名空間namespace 45
3.2.2路由命名name 46
3.3路由的使用方式 48
3.3.1在模板中使用路由 48
3.3.2反向解析reverse與resolve 51
3.3.3路由重定向 54
3.4本章小結 56
第4章探究FBV視圖 58
4.1設定回響方式 58
4.1.1返迴響應內容 58
4.1.2設定重定向 62
4.1.3異常回響 64
4.1.4檔案下載功能 66
4.2HTTP請求對象 70
4.2.1獲取請求信息 71
4.2.2檔案上傳功能 74
4.2.3Cookie實現反爬蟲 79
4.2.4請求頭實現反爬蟲 86
4.3本章小結 89
第5章 探究CBV視圖 91
5.1 數據顯示視圖 91
5.1.1 重定向視圖RedirectView 91
5.1.2 基礎視圖TemplateView 94
5.1.3 列表視圖ListView 96
5.1.4 詳細視圖DetailView 101
5.2 數據操作視圖 104
5.2.1 表單視圖FormView 104
5.2.2 新增視圖CreateView 107
5.2.3 修改視圖UpdateView 109
5.2.4 刪除視圖DeleteView 111
5.3 日期篩選視圖 113
5.3.1 月份視圖MonthArchiveView 115
5.3.2 周期視圖WeekArchiveView 120
5.4 本章小結 122
第6章 深入模板 124
6.1 Django模板引擎 124
6.1.1 模板上下文 124
6.1.2 自定義標籤 126
6.1.3 模板繼承 130
6.1.4 自定義過濾器 132
6.2 Jinja2模板引擎 136
6.2.1 安裝與配置 137
6.2.2 模板語法 140
6.2.3 自定義過濾器 142
6.3 本章小結 143
第7章 模型與資料庫 145
7.1 模型定義與數據遷移 145
7.1.1 定義模型 145
7.1.2 開發個人的ORM框架 149
7.1.3 數據遷移 152
7.1.4 數據導入與導出 155
7.2 數據表關係 157
7.3 數據表操作 161
7.3.1 數據新增 161
7.3.2 數據修改 164
7.3.3 數據刪除 165
7.3.4 數據查詢 166
7.3.5 多表查詢 169
7.3.6 執行SQL語句 173
7.3.7 資料庫事務 175
7.4 多資料庫的連線與使用 178
7.4.1 多資料庫的連線 178
7.4.2 多資料庫的使用 180
7.5 本章小結 183
第8章 表單與模型 185
8.1 初識表單 185
8.2 源碼分析Form 189
8.3 源碼分析ModelForm 195
8.4 視圖里使用Form 199
8.5 視圖里使用ModelForm 201
8.6 本章小結 204
第9章 Admin後台系統 206
9.1 走進Admin 206
9.2 源碼分析ModelAdmin 210
9.3 Admin首頁設定 215
9.4 Admin的二次開發 217
9.4.1 函式get_readonly_fields( ) 218
9.4.2 設定欄位樣式 219
9.4.3 函式get_queryset ( ) 221
9.4.4 函式formfield_for_foreignkey( ) 221
9.4.5 函式formfield_for_choice_field( ) 222
9.4.6 函式save_model( ) 223
9.4.7 數據批量操作 225
9.4.8 自定義Admin模板 226
9.4.9 自定義Admin後台系統 228
9.5 本章小結 234
第10章 Auth認證系統 236
10.1 內置User實現用戶管理 236
10.2 傳送郵件實現密碼找回 244
10.3 模型User的擴展與使用 251
10.4 許可權的設定與使用 258
10.5 自定義用戶許可權 260
10.6 設定網頁的訪問許可權 262
10.7 用戶組的設定與使用 268
10.8 本章小結 270
第11章 常用的Web應用程式 273
11.1 會話控制 273
11.1.1 會話的配置與操作 273
11.1.2 使用會話實現商品搶購 277
11.2 快取機制 283
11.2.1 快取的類型與配置 284
11.2.2 快取的使用 286
11.3 CSRF防護 290
11.4 訊息框架 292
11.4.1 源碼分析訊息框架 292
11.4.2 訊息框架的使用 294
11.5 分頁功能 298
11.5.1 源碼分析分頁功能 298
11.5.2 分頁功能的使用 301
11.6 國際化和本地化 305
11.6.1 環境搭建與配置 305
11.6.2 設定國際化 306
11.6.3 設定本地化 308
11.7 單元測試 309
11.7.1 定義測試類 310
11.7.2 運行測試用例 316
11.8 自定義中間件 317
11.8.1 中間件的定義過程 317
11.8.2 中間件實現Cookie反爬蟲 320
11.9 本章小結 323
第12章 第三方功能套用 327
12.1 Django Rest Framework框架 327
12.1.1 DRF的安裝與配置 327
12.1.2 序列化類Serializer 329
12.1.3 模型序列化類ModelSerializer 333
12.1.4 序列化的嵌套使用 336
12.2 驗證碼生成與使用 339
12.2.1 Django Simple Captcha的安裝與配置 339
12.2.2 使用驗證碼實現用戶登錄 342
12.3 站內搜尋引擎 346
12.3.1 Django Haystack的安裝與配置 346
12.3.2 使用搜尋引擎實現產品搜尋 349
12.4 第三方網站實現用戶註冊 355
12.4.1 Social-Auth-App-Django的安裝與配置 355
12.4.2 微博賬號實現用戶註冊 359
12.5 分散式任務和定時任務 361
12.5.1 Celery的安裝與配置 361
12.5.2 分散式任務 363
12.5.3 定時任務 366
12.6 即時通信——線上聊天 368
12.6.1 Channels的安裝與配置 368
12.6.2 Web線上聊天功能 372
12.7 本章小結 375
第13章 信息反饋平台 377
13.1 項目設計與配置 377
13.1.1 項目架構設計 378
13.1.2 MySQL搭建與配置 379
13.1.3 功能配置 381
13.1.4 資料庫架構設計 383
13.2 程式功能開發 384
13.2.1 路由與視圖函式 384
13.2.2 使用Jinja2編寫模板檔案 386
13.2.3 Admin後台系統 389
13.3 測試與運行 390
13.3.1 編寫單元測試 390
13.3.2 運行與上線 392
13.4 本章小結 395
第14章 部落格系統的開發 397
14.1 項目設計與配置 397
14.1.1 項目架構設計 400
14.1.2 功能配置 401
14.1.3 數據表架構設計 403
14.1.4 定義路由列表 406
14.1.5 編寫共用模板 407
14.2 註冊與登錄 410
14.3 博主資料信息 414
14.4 圖片牆功能 416
14.5 留言板功能 418
14.6 文章列表 422
14.7 文章正文內容 425
14.8 Admin後台系統 429
14.8.1 模型的數據管理 429
14.8.2 自定義Admin的登錄頁面 433
14.8.3 Django CKEditor生成文章編輯器 435
14.9 測試與部署 438
14.9.1 測試業務邏輯 438
14.9.2 上線部署 442
14.10 本章小結 443
第15章 音樂網站平台的開發 445
15.1 項目設計與配置 445
15.1.1 項目架構設計 449
15.1.2 功能配置 450
15.1.3 數據表架構設計 452
15.1.4 定義路由列表 456
15.1.5 編寫共用模板 457
15.2 網站首頁 457
15.3 歌曲排行榜 463
15.4 歌曲搜尋 467
15.5 歌曲播放與下載 471
15.6 歌曲點評 478
15.7 註冊與登錄 483
15.8 用戶中心 487
15.9 Admin後台系統 491
15.10 自定義異常頁面 494
15.11 部署與運行 495
15.11.1 上線部署 496
15.11.2 網站試運行 497
15.12 本章小結 498
第16章 前後端分離與微服務架構 500
16.1 Vue框架 500
16.1.1 Vue開發產品信息頁 500
16.1.2 Vue傳送AJAX請求 504
16.2 Django開發API接口 505
16.2.1 簡化Django內置功能 505
16.2.2 設定跨域訪問 507
16.2.3 使用路由視圖開發API接口 508
16.2.4 DRF框架開發API接口 511
16.3 微服務架構 512
16.3.1 微服務實現原理 512
16.3.2 功能拆分 515
16.3.3 設計API網關 519
16.3.4 調試與運行 522
16.4 本章小結 523
第17章 Django項目上線部署 525
17.1 基於Windows部署Django 525
17.1.1 安裝IIS伺服器 525
17.1.2 創建項目站點 527
17.1.3 配置靜態資源 530
17.2 基於Linux部署Django 531
17.2.1 安裝Linux虛擬機 531
17.2.2 安裝Python 3 537
17.2.3 部署uWSGI伺服器 538
17.2.4 安裝Nginx部署項目 541
17.3 本章小結 542
附錄A Django面試題 544
附錄B Django資源列表 548

相關詞條

熱門詞條

聯絡我們