Django 開發入門與項目實戰

Django 開發入門與項目實戰

作者: 牟文斌
出版社: 電子工業
出版在: 2021-01-01
ISBN-13: 9787121404269
ISBN-10: 7121404265
裝訂格式: 平裝
總頁數: 476 頁





內容描述


本書重點闡述了Python Web開發框架Django在企業開發中的應用,從Web基礎知識的鋪墊,到Django框架的基本使用,以及與Web相關的各種功能組件的使用,都進行了全面的講解,再配合項目實戰,讓讀者全面學習並掌握Django框架各個方面的細節操作,並能在第一時間上手企業項目開發。
本書適合編程新手、有一定經驗的開發人員以及資深開發人員使用。
對於編程新手來說,這是一本不可多得的教程,深入淺出的講解能讓你以最快的速度瞭解並上手Django框架並參與到項目開發中;
對於有經驗的開發人員以及資深開發人員來說,這是一本操作手冊,能最大限度地輔助你進行開發,提高開發效率。


目錄大綱


目  錄
第1篇 開發工具及框架概述
第1章 Django概述 2
1.1 Web基礎 2
1.1.1 Web發展 2
1.1.2 網絡協議架構 3
1.1.3 應用軟件架構 4
1.1.4 第一個Web程序 6
1.2 Django簡介 7
1.2.1 MVC和MVT 8
1.2.2 Django 2. x新特性 10
1.2.3 Django的安裝 12
1.2.4 安裝驗證 13
1.3 入門程序開發 13
1.3.1 創建項目 14
1.3.2 數據庫同步 14
1.3.3 創建管理用戶 15
1.3.4 訪問測試 15
1.4 項目實戰:博客開發 17
1.4.1 項目概述 17
1.4.2 項目創建初始化 17
1.4.3 數據模型定義 18
1.4.4 數據庫同步配置 19
1.4.5 後台管理配置 20
1.4.6 項目基本配置 22
1.4.7 添加網頁模板 24
1.4.8 視圖處理函數 26
1.4.9 路由配置關聯 27
1.4.10 軟件運行測試 29
1.5 本章小結 30
第2章 Django數據模型與數據庫 31
2.1 項目中的數據模型 31
2.1.1 模型類 31
2.1.2 字段限定規則 33
2.1.3 屬性字段類型 36
2.1.4 索引操作 42
2.1.5 元數據選項 43
2.2 數據庫處理 47
2.2.1 數據庫連接 47
2.2.2 模型數據操作命令 50
2.2.3 數據庫同步問題簡述 53
2.2.4 數據模型增刪改查 54
2.3 數據模型關聯處理 56
2.3.1 什麼是模型關聯 56
2.3.2 一對多關聯 57
2.3.3 一對一關聯 60
2.3.4 多對多關聯 62
2.3.5 自關聯 64
2.4 數據查詢操作 65
2.4.1 模型數據基本查詢 65
2.4.2 模型數據條件查詢 67
2.4.3 Q、F對象 68
2.4.4 模型操作關聯查詢 70
2.4.5 自定義SQL語句查詢 71
2.5 數據庫事務管理 72
2.5.1 Django中的事務管理 72
2.5.2 事務管理操作 73
2.6 本章小結 74
第3章 視圖模板 75
3.1 視圖模板概述 75
3.2 路由 76
3.2.1 路由概述 76
3.2.2 路由對象 77
3.2.3 路由級聯包含 78
3.2.4 路由中的正則匹配 79
3.2.5 路由傳遞位置參數 80
3.2.6 路由路徑轉換器 82
3.2.7 路由反向解析 84
3.2.8 路由指定錯誤頁面 85
3.3 視圖處理函數 88
3.3.1 視圖處理函數的聲明和規範 88
3.3.2 數據響應快捷處理方式 89
3.3.3 視圖相關裝飾器 93
3.3.4 請求對象和響應對象 94
3.3.5 案例開發 97
3.4 模板語法 104
3.4.1 模板語法基礎 105
3.4.2 常見的模板標籤操作 106
3.4.3 常見的過濾器操作 109
3.4.4 模板高級操作:模板繼承 112
3.4.5 案例開發:博客網頁數據渲染 115
3.5 靜態文件處理 121
3.5.1 項目開發架構規範 121
3.5.2 靜態文件配置 122
3.5.3 子項目的靜態文件配置 124
3.5.4 案例開發:完善博客項目的網頁視圖 126
3.6 自定義模板標籤和模板過濾器 128
3.6.1 項目準備 129
3.6.2 自定義模板過濾器 130
3.6.3 自定義模板標籤 132
3.7 本章小結 135
第4章 表單處理 136
4.1 表單概述 136
4.1.1 普通表單處理 137
4.1.2 GET參數處理 139
4.1.3 POST參數處理 140
4.1.4 跨站請求偽造 142
4.1.5 文件上傳 144
4.2 基於Form的表單封裝 149
4.2.1 表單基本操作 149
4.2.2 限定屬性和字段描述 152
4.2.3 表單視圖操作 156
4.3 基於ModelForm的高級表單 160
4.3.1 ModelForm概述 160
4.3.2 ModelForm字段屬性 162
4.3.3 Meta屬性選項 164
4.3.4 ModelForm中的數據提交 166
4.3.5 ModelForm中的數據初始化 167
4.3.6 ModelForm中的類型關聯關係 168
4.3.7 表單實例工廠 170
4.3.8 自定義驗證規則 171
4.4 項目實例:表單重構 172
4.4.1 用戶註冊表單重構 173
4.4.2 用戶登錄表單重構 176
4.4.3 用戶信息表單重構 179
4.4.4 發表文章表單重構 180
4.4.5 表單重構注意問題 183
4.5 本章小結 183
第2篇 典型模塊開發
第5章 後台管理系統 186
5.1 後台管理系統基本操作 186
5.1.1 初始化管理平台 187
5.1.2 管理平台的基本操作 189
5.2 數據模型的註冊和管理 191
5.3 數據模型自定義操作 193
5.3.1 數據模型註冊 193
5.3.2 數據模型管理 194
5.3.3 後台管理系統操作 203
5.4 Xadmin管理平台 205
5.4.1 環境配置 205
5.4.2 系統主題配置管理 208
5.4.3 管理平台數據配置 209
5.4.4 項目數據配置管理 210
5.5 本章小結 211
第6章 緩存 212
6.1 關於網站性能優化的建議 212
6.1.1 前端優化 213
6.1.2 後端優化 215
6.1.3 再說緩存 217
6.1.4 緩存問題 218
6.2 Django中的緩存 221
6.2.1 基於開發調試的緩存配置 221
6.2.2 基於本地內存的緩存配置 222
6.2.3 基於文件的緩存配置 222
6.2.4 基於數據庫的緩存配置 223
6.2.5 基於Memcached的緩存配置 223
6.2.6 基於Redis的緩存配置 224
6.2.7 數據緩存操作――全站緩存 225
6.2.8 數據緩存操作――視圖緩存 227
6.2.9 數據緩存操作――模板緩存 228
6.2.10 數據緩存操作――低級緩存 228
6.2.11 數據緩存操作――分佈式帶來的問題 232
6.2.12 數據緩存操作――Vary header 232
6.3 項目實戰:緩存操作 234
6.3.1 緩存環境搭建 234
6.3.2 配置緩存支持 236
6.3.3 網頁視圖緩存 236
6.3.4 視圖模板緩存 237
6.3.5 數據更新場景下的緩存處理 238
6.4 本章小結 240
第7章 日誌處理――必不可少的記錄 241
7.1 歷史信息管理――日誌的重要性 241
7.2 軟件開發先鋒官――日誌核心組件 243
7.2.1 記錄器對象――logger 243
7.2.2 操作對象――handler 244
7.2.3 過濾器對象――filter 244
7.2.4 格式化對象――formatter 245
7.3 Django 2. x項目中的日誌操作 246
7.3.1 日誌基本操作語法 246
7.3.2 通過命名空間實現日誌結構化管理 247
7.3.3 記錄到控制台的日誌配置規則 248
7.3.4 記錄到文件的日誌配置規則 249
7.3.5 Django中的日誌模塊API 251
7.3.6 Django中的默認日誌配置 252
7.4 項目實戰――日誌記錄 252
7.5 本章小結 256
第8章 Django 2. x擴展功能 257
8.1 Ajax異步數據交互 257
8.1.1 Ajax的底層JavaScript實現 259
8.1.2 Ajax jQuery實現 262
8.1.3 文章評論異步交互 264
8.2 Django郵件操作 268
8.2.1 Web中的郵件功能 269
8.2.2 Django中的郵件配置 269
8.2.3 郵件的發送 270
8.2.4 預防郵件頭注入漏洞 273
8.2.5 EmailMessage 275
8.2.6 用戶賬號激活 279
8.3 數據查詢分頁 283
8.3.1 Django的數據分頁模塊 284
8.3.2 文章分頁展示功能 286
8.4 站點地圖 288
8.4.1 Django中的站點地圖 288
8.4.2 項目實戰:站點地圖操作 292
8.5 權限認證 295
8.5.1 身份認證模塊 295
8.5.2 權限管理架構 304
8.5.3 資源訪問管理 306
8.6 本章小結 310
第9章 Django REST框架 311
9.1 面向接口編程概述 311
9.1.1 什麼是接口 311
9.1.2 接口定義規範 312
9.1.3 接口編程應用 313
9.2 Django rest_framework 315
9.2.1 安裝與配置 315
9.2.2 創建項目 316
9.2.3 數據序列化 317
9.2.4 視圖操作 317
9.2.5 路由映射 318
9.2.6 分頁配置 318
9.2.7 數據訪問測試 318
9.3 數據序列化 320
9.3.1 項目初始化 320
9.3.2 自定義數據模型 321
9.3.3 序列化組件操作 321
9.3.4 視圖處理組件 322
9.3.5 數據接口測試 324
9.3.6 數據接口測試工具 324
9.4 請求和響應 326
9.4.1 請求對象和響應對象 326
9.4.2 視圖渲染 326
9.4.3 業務處理 327
9.4.4 請求數據格式化 328
9.5 CBV構建 329
9.5.1 基於類型的視圖組件構建 329
9.5.2 基於類型的路由完善 330
9.5.3 基於類型的視圖功能擴展 331
9.5.4 基於類型的視圖功能封裝 333
9.6 身份認證和權限管理 334
9.6.1 創建基礎項目 334
9.6.2 權限限制 337
9.6.3 身份認證API 338
9.6.4 自定義認證權限 340
9.7 規範構建數據接口 341
9.8 視圖集及路由配置 344
9.9 本章小結 346
第3篇 項目實戰
第10章 項目實戰――社區交流平台 348
10.1 項目開發流程 348
10.1.1 前後端耦合開發模式 348
10.1.2 前後端分離開發模式 349
10.2 需求分析 350
10.2.1 用戶模塊 351
10.2.2 文章模塊 353
10.2.3 評論模塊 353
10.2.4 私信模塊 354
10.2.5 工具模塊 355
10.3 詳細設計 355
10.3.1 系統數據模型設計 355
10.3.2 用戶模塊功能流程設計 357
10.3.3 文章模塊功能流程設計 359
10.3.4 評論模塊功能流程設計 360
10.3.5 私信模塊功能流程設計 360
10.3.6 輔助功能 361
10.4 開發與測試 361
10.4.1 用戶模塊功能開發 362
10.4.2 文章模塊功能開發 379
10.4.3 評論模塊功能開發 391
10.4.4 私信模塊功能開發 394
10.4.5 輔助功能開發 396
10.5 雲服務器項目部署 400
10.5.1 雲服務器的配置選型 400
10.5.2 服務器環境初始化 401
10.5.3 項目遠程部署概述 402
10.5.4 項目部署和備案管理 403
10.6 本章小結 407
第11章 項目實戰――圖書管理系統 408
11.1 項目需求分析及接口規範定義 408
11.1.1 項目環境及技術選型 408
11.1.2 需求分析:用例分析 409
11.1.3 詳細設計:流程設計 411
11.2 基於Vue. js的前端項目構建 414
11.2.1 項目初始化結構 414
11.2.2 項目結構完善
及路由分析 417
11.2.3 圖書管理員及普通會員登錄功能 421
11.2.4 圖書信息查詢界面設計及路由分析 427
11.3 基於Django的後端項目構建 432
11.3.1 項目初始化結構 432
11.3.2 數據類型定義 433
11.3.3 序列化數據接口開發 435
11.3.4 用戶查詢接口 436
11.3.5 用戶登錄接口 438
11.3.6 圖書查詢接口 439
11.3.7 圖書存放區域查詢接口 442
11.3.8 圖書借閱處理接口重構 444
11.4 業務功能聯調 446
11.4.1 圖書檢索功能調測 447
11.4.2 用戶登錄功能調測 450
11.4.3 JWT認證 455
11.4.4 圖書借閱功能調測 458
11.5 本章小結 460


作者介紹


牟文斌
擁有多年的互聯網軟件開發經驗和教學經驗。 
2010年以來,曾供職於阿里、騰訊、亞信聯創等一線研發公司。
後轉型軟件開發職業培訓,供職於一線教育平台,參與Python、Java及大前端課程的研發和授課。




相關書籍

ZooKeeper: Distributed process coordination (Paperback)

作者 Flavio Junqueira Benjamin Reed

2021-01-01

網頁設計達人講座

作者 葉彥志

2021-01-01

Kafka 源碼解析與實戰

作者 王亮

2021-01-01