Django Web開發從入門到實戰

Django Web開發從入門到實戰

《Django Web開發從入門到實戰》是2021年清華大學出版社出版的圖書。

基本介紹

  • 中文名:Django Web開發從入門到實戰
  • 作者:孟令菊
  • 出版時間:2021年6月
  • 出版社:清華大學出版社
  • ISBN:9787302575290
  • 類別:計算機作業系統開發教程
  • 開本:16 開
  • 裝幀:平裝-膠訂
內容簡介,圖書目錄,作者簡介,

內容簡介

《Django Web開發從入門到實戰》循序漸進地講解了使用Python語言開發Django Web程式的知識,並通過具體實例的實現過程演示了使用Django框架的方法和流程。全書共17章,分別講解了初步認識Django,分析Django項目的結構,視圖層,Django資料庫操作,使用模組,表單,站點配置和管理,站點的安全性,站點管理,系統最佳化、調試和部署,郵件傳送模組,用戶登錄驗證模組,計數器模組,Ajax模組,分頁模組,富文本編輯器模組,綜合實戰:民宿信息可視化。全書文字簡潔而不失其技術深度,內容豐富全面,歷史資料翔實齊全。並且本書易於閱讀,以極簡的文字介紹了複雜的案例,同時涵蓋了其他同類圖書中很少涉及的歷史參考資料,是學習Django Web開發的完美教程。 《Django Web開發從入門到實戰》適合已經了解了Python語言基礎語法並且希望進一步提高Python開發水平的讀者閱讀,還可以作為大中專院校相關專業的師生用書和培訓學校的專業性教材。

圖書目錄

第1章 初步認識Django 1
1.1 Django Web開發基礎 2
1.1.1 Web開發和Web框架介紹 2
1.1.2 Django框架介紹 3
1.1.3 Django框架的特點 4
1.2 Django的設計模式 4
1.2.1 MVC設計模式介紹 4
1.2.2 MTV設計模式介紹 5
1.3 搭建Django開發環境 6
1.3.1 搭建Python環境 6
1.3.2 搭建Django環境 8
1.3.3 常用的Django命令 9
1.4 實現個Django Web項目 11
1.4.1 實戰演練:使用Django命令創建Django Web項目 11
1.4.2 實戰演練:使用PyCharm創建Django Web項目 14
第2章 分析Django項目的結構 19
2.1 實戰演練:線上投票系統 20
2.2 編寫個視圖 20
2.3 實現資料庫 22
2.3.1 配置資料庫 22
2.3.2 創建資料庫模型 23
2.3.3 啟用模型 24
2.3.4 使用模型的API 26
2.4 使用admin後台管理Web 29
2.4.1 創建管理員用戶 30
2.4.2 啟動Web項目 30
2.4.3 進入admin站點 31
2.4.4 在admin中註冊投票套用 31
2.4.5 體驗便捷的管理功能 31
2.5 視圖和模板 33
2.5.1 編寫視圖 33
2.5.2 編寫一個真正有用的視圖 34
2.5.3 快捷函式render() 36
2.5.4 拋出404錯誤 37
2.5.5 使用模板系統 38
2.5.6 刪除模板中硬編碼的URLs 38
2.5.7 URL names的命名空間 38
2.6 編寫一個簡單的表單 39
2.7 用通用視圖:減少重複代碼 42
2.7.1 改良URLconf 42
2.7.2 修改視圖 43
2.8 靜態檔案 44
2.8.1 使用CSS自定義套用的風格 44
2.8.2 靜態檔案命名空間 45
2.8.3 添加一個背景圖 45
2.9 重新設計後台 46
2.9.1 自定義後台表單 46
2.9.2 添加關聯對象 47
2.9.3 定製實例的列表頁面 51
2.9.4 定製admin整體界面 53
2.9.5 定製admin首頁 54
第3章 視圖層 55
3.1 視圖層介紹 56
3.1.1 分析View視圖的作用 56
3.1.2 實戰演練:使用簡易View視圖檔案實例 57
3.2 URL調度器 59
3.2.1 URL調度器介紹 59
3.2.2 Django URL調度器的工作原理 61
3.2.3 路徑轉換器 61
3.2.4 URLconf匹配URL 65
3.2.5 設定視圖參數的默認值 65
3.2.6 自定義錯誤頁面 66
3.2.7 實戰演練:使用Django框架實現URL參數相加 67
3.3 編寫View視圖 69
3.3.1 一個簡單的視圖 70
3.3.2 返回錯誤信息 70
3.3.3 實戰演練:線上檔案上傳系統 72
3.4 異步視圖 76
3.4.1 異步視圖介紹 76
3.4.2 異步中間件 77
3.4.3 實戰演練:使用異步視圖展示兩種貨幣的交易數據 78
第4章 Django資料庫操作 83
4.1 Model模型 84
4.1.1 Model模型基礎 84
4.1.2 META內部類 86
4.1.3 實戰演練:在Django框架中創建SQLite3資料庫 88
4.2 使用QuerySet API 89
4.2.1 QuerySet API基礎 90
4.2.2 生成新的QuerySet對象的方法 91
4.2.3 不返回QuerySet的方法 96
4.2.4 欄位查找 99
4.2.5 實戰演練:使用QuerySet API操作SQLite資料庫 100
4.3 實戰演練:使用QuerySet API操作MySQL資料庫 105
第5章 使用模板 111
5.1 模板基礎 112
5.1.1 配置引擎 112
5.1.2 Django模板的基礎用法 113
5.1.3 實戰演練:使用簡易模板 114
5.2 模板標籤Tags 115
5.2.1 常用的模板標籤 115
5.2.2 實戰演練:在模板中使用for循環顯示列表內容 120
5.3 模板過濾器Filter 121
5.3.1 常用的內置過濾器 121
5.3.2 國際化標籤和過濾器 130
5.3.3 其他標籤和過濾器庫 131
5.3.4 實戰演練:使用過濾器提取列表和字典中的內容 131
5.4 模板繼承 133
5.4.1 模板繼承介紹 133
5.4.2 實戰演練:使用模板繼承 135
5.5 自定義模板標籤和過濾器 137
5.5.1 基本方法 137
5.5.2 自定義模板過濾器 138
5.5.3 自定義模板標籤 139
5.5.4 實戰演練:創建自定義模板過濾器 142
第6章 表單 145
6.1 表單介紹 146
6.1.1 HTML表單介紹 146
6.1.2 Django中的表單 147
6.2 使用表單 148
6.2.1 使用表單類Form的方法 148
6.2.2 實戰演練:個表單程式 151
6.3 表單的典型套用 152
6.3.1 表單forms的設計與使用 152
6.3.2 實戰演練:簡易用戶登錄驗證系統 160
6.3.3 實戰演練:檔案上傳系統 163
第7章 站點配置和管理 169
7.1 系統配置檔案 170
7.1.1 配置檔案的特性 170
7.1.2 基本配置 170
7.2 靜態檔案 172
7.2.1 靜態檔案介紹 173
7.2.2 實戰演練:在登錄表單中使用靜態檔案 174
7.3 Django Admin管理 176
7.3.1 Django Admin基礎 176
7.3.2 實戰演練:使用Django Admin系統 179
第8章 站點的安全性 183
8.1 Django安全概述 184
8.1.1 跨站腳本(XSS)防護 184
8.1.2 跨站請求偽造(CSRF)防護 184
8.1.3 SQL注入保護 185
8.1.4 點擊劫持保護 185
8.1.5 SSL/HTTPS 185
8.1.6 Host 協定頭驗證 186
8.2 使用Cookie和Session 186
8.2.1 Django框架中的Cookie 186
8.2.2 Django框架中的Session 190
8.3 點擊劫持保護 194
8.3.1 點擊劫持的例子 194
8.3.2 使用X-Frame-Options 195
8.4 跨站請求偽造保護 196
8.4.1 在Django中使用CSRF防護的方法 196
8.4.2 裝飾器方法 197
8.4.3 實戰演練:求和計時器 198
8.4.4 實戰演練:每日任務管理器 200
8.5 加密簽名 203
8.6 中間件 206
8.7 實戰演練:安全版的仿CSDN登錄驗證系統 208
8.7.1 系統設定 208
8.7.2 會員註冊和登錄驗證模組 209
8.7.3 部落格發布模組 214
第9章 站點管理 219
9.1 Django Web國際化 220
9.1.1 Django中Python程式的國際化 220
9.1.2 Django中模板的國際化 221
9.1.3 Django中URL模式的國際化 224
9.2 Django Web本地化 227
9.2.1 Message File(訊息檔案) 227
9.2.2 編譯訊息檔案 228
9.2.3 本地格式化 228
9.3 國際化和本地化的套用 230
9.3.1 實戰演練:展示法語環境 230
9.3.2 實戰演練:創建多語言環境 233
9.4 網站地圖sitemap 236
9.4.1 安裝sitemap 236
9.4.2 sitemap的初始化 236
9.4.3 類Sitemap的成員 237
9.4.4 快捷類GenericSitemap 238
9.4.5 靜態視圖的Sitemap 239
9.4.6 創建網站地圖索引 240
9.4.7 模板定製 240
9.4.8 實戰演練:在Django部落格系統中創建網站地圖 241
第10章 系統最佳化、調試和部署 245
10.1 Django性能與最佳化 246
10.1.1 什麼是最佳化? 246
10.1.2 Django中的性能最佳化技術 246
10.1.3 實戰演練:在Django部落格系統中添加django-debug-toolbar面板 249
10.2 Django快取處理 254
10.2.1 快取的思路 254
10.2.2 設定快取 255
10.2.3 站點級快取 260
10.2.4 快取單個view視圖 261
10.2.5 在URLconf中指定視圖 快取 262
10.2.6 模板片段快取 262
10.2.7 實戰演練:在上傳系統中使用Redis快取 263
10.3 日誌系統 268
10.3.1 在Django視圖中使用logging 268
10.3.2 在Django中配置logging 269
10.3.3 自定義logging配置和禁用logging配置 272
10.3.4 Django對logging模組的 擴展 272
10.3.5 實戰演練:在日誌中記錄用戶的訪問操作 273
第11章 郵件傳送模組 277
11.1 實戰演練:使用smtplib傳送 郵件 278
11.2 使用django.core.mail傳送郵件 280
11.2.1 django.core.mail基礎 280
11.2.2 實戰演練:使用django.core.mail實現一個郵件傳送程式 282
11.3 實戰演練:使用信箱傳送驗證碼的用戶註冊、登錄驗證系統 284
第12章 用戶登錄驗證模組 291
12.1 使用auth實現登錄驗證系統 292
12.1.1 auth模組基礎 292
12.1.2 實戰演練:帶登錄驗證功能的簡易新聞系統 297
12.2 使用django-allauth實現登錄驗證 系統 301
12.2.1 django-allauth框架基礎 301
12.2.2 實戰演練:在django-allauth中使用百度賬戶實現用戶登錄系統 304
第13章 計數器模組 311
13.1 實戰演練:一個簡單的網頁 計數器 312
13.2 實戰演練:使用資料庫保存統計 數據 313
13.2.1 創建Django工程 313
13.2.2 實現資料庫 313
13.2.3 配置URL 314
13.2.4 實現視圖 315
13.2.5 實現模板 315
13.2.6 調試運行 316
13.3 實戰演練:使用第三方庫實現訪問計數器 316
13.3.1 準備工作 316
13.3.2 配置URL 317
13.3.3 實現資料庫 317
13.3.4 實現視圖 318
13.3.5 實現模板 319
13.3.6 調試運行 321
第14章 Ajax模組 323
14.1 Ajax技術的原理 324
14.2 實戰演練:無刷新計算器 325
14.3 Ajax上傳和下載系統 326
14.3.1 實現檔案上傳功能 326
14.3.2 實現檔案下載功能 331
第15章 分頁模組 335
15.1 類Paginator和類Page 336
15.1.1 類Paginator 336
15.1.2 類Page 337
15.1.3 實戰演練:實現簡單的分頁 337
15.2 實戰演練:自定義的美觀的分頁程式 339
15.3 實戰演練:使用分頁顯示網路信息 343
15.3.1 創建工程 344
15.3.2 設計視圖 344
15.3.3 設計URL導航 344
15.3.4 實現模板檔案 345
第16章 富文本編輯器模組 347
16.1 第三方庫django-mdeditor 348
16.1.1 django-mdeditor介紹 348
16.1.2 實戰演練:使用django- mdeditor實現富文本編輯器 348
16.2 第三方庫django-ckeditor 352
16.2.1 django-ckeditor介紹 352
16.2.2 實戰演練:在部落格系統中 使用django-ckeditor富文本編輯器 353
第17章 綜合實戰:民宿信息可視化 357
17.1 系統背景介紹 358
17.2 爬蟲抓取信息 358
17.2.1 系統配置 359
17.2.2 Item處理 359
17.2.3 具體爬蟲 360
17.2.4 破解反扒字型加密 360
17.2.5 下載器中間件 363
17.2.6 保存爬蟲信息 367
17.3 數據可視化 370
17.3.1 資料庫設計 370
17.3.2 視圖顯示 373

作者簡介

孟令菊,華中科技大學計算機碩士,現就職於上海機鋒科技公司擔任項目經理。Python開發工程師,Android開發工程師,熱衷於移動開底層系統架構、驅動開發、AI開發的研究和具體工作,對Python人工智慧的架構設計和實現原理有非常深刻的認識和理解,套用開發經驗也十分豐富。

相關詞條

熱門詞條

聯絡我們