Django Web項目開發實戰
[美]本·肖恩 等著 劉璋 譯
- 出版商: 清華大學
- 出版日期: 2024-03-01
- 定價: $954
- 售價: 8.5 折 $811
- 語言: 簡體中文
- ISBN: 7302657734
- ISBN-13: 9787302657736
-
相關分類:
Django
- 此書翻譯自: Web Development with Django: Learn to build modern web applications with a Python-based framework
下單後立即進貨 (約4週~6週)
相關主題
商品描述
目錄大綱
目 錄
第1章 Django簡介 1
1.1 簡介 1
1.2 搭建Django項目和應用程序 2
1.3 模型-視圖-模板 6
1.3.1 模型 6
1.3.2 視圖 7
1.3.3 模板 7
1.3.4 MVT實戰 8
1.3.5 HTTP簡介 9
1.3.6 處理請求 14
1.3.7 Django項目 15
1.3.8 manage.py文件 15
1.3.9 myproject目錄 16
1.3.10 Django開發服務器 16
1.3.11 Django應用程序 17
1.3.12 PyCharm設置 18
1.3.13 視圖 24
1.3.14 URL映射 25
1.3.15 GET、POST和QueryDict對象 30
1.3.16 查看Django設置 34
1.3.17 在代碼中使用設置項 35
1.3.18 在應用程序目錄中查找HTML模板 36
1.3.19 利用render函數渲染模板 39
1.3.20 渲染模板中的變量 41
1.3.21 調試和錯誤處理 43
1.3.22 異常 43
1.3.23 調試 46
1.4 本章小結 52
第2章 模型和遷移 53
2.1 簡介 53
2.2 數據庫 54
2.2.1 關系型數據庫 54
2.2.2 非關系型數據庫 55
2.2.3 利用SQL的數據庫操作 55
2.2.4 關系型數據庫中的數據類型 55
2.3 SQL CRUD操作 59
2.3.1 SQL創建操作 60
2.3.2 SQL讀取操作 60
2.3.3 SQL更新操作 61
2.3.4 SQL刪除操作 61
2.3.5 Django ORM 62
2.3.6 數據庫配置和Django應用程序的創建 63
2.3.7 Django應用程序 64
2.3.8 Django遷移 64
2.3.9 Django模型和遷移 66
2.3.10 字段類型 67
2.3.11 字段選項 67
2.3.12 主鍵 70
2.4 關系 72
2.5 多對一關系 72
2.6 多對多關系 73
2.6.1 一對一關系 75
2.6.2 添加Review模型 76
2.6.3 模型方法 77
2.6.4 遷移reviews應用程序 78
2.7 Django的數據庫的CRUD操作 80
2.7.1 利用外鍵創建一個對象 83
2.7.2 使用create()和set()方法創建多對多關系 86
2.7.3 讀取操作 86
2.7.4 使用get()方法返回一個對象 87
2.7.5 通過過濾機制檢索對象 89
2.7.6 根據字段查找進行過濾 90
2.7.7 針對過濾操作使用模式匹配 90
2.7.8 通過排除檢索對象 91
2.7.9 利用order_by()方法檢索對象 91
2.7.10 在關系間進行查詢 94
2.7.11 使用外鍵進行查詢 94
2.7.12 使用模型名進行查詢 94
2.7.13 使用對象實例在外鍵關系間進行查詢 94
2.7.14 填寫Bookr項目的數據庫 98
2.8 本章小結 99
第3章 URL映射、視圖和模板 101
3.1 簡介 101
3.2 基於函數的視圖 101
3.3 基於類的視圖 102
3.4 URL配置 103
3.5 模板 106
3.6 Django模板語言 110
3.6.1 模板變量 110
3.6.2 模板繼承 114
3.7 基於Bootstrap的模板樣式 115
3.8 本章小結 120
第4章 Django admin簡介 121
4.1 簡介 121
4.2 創建超級用戶賬戶 122
4.3 使用Django admin應用程序的CRUD操作 124
4.3.1 創建 125
4.3.2 檢索 127
4.3.3 更新 128
4.3.4 刪除 130
4.3.5 用戶和分組 131
4.4 註冊reviews模型 136
4.4.1 更改列表 138
4.4.2 出版社更改列表 139
4.4.3 圖書更改頁面 142
4.5 定製管理界面 147
4.5.1 站點範圍內的Django管理定製 147
4.5.2 從Python shell中檢查AdminSite對象 148
4.5.3 子類化AdminSite 148
4.5.3 定製ModelAdmin類 154
4.5.4 搜索欄 163
4.6 本章小結 171
第5章 服務於靜態文件 173
5.1 簡介 173
5.2 靜態文件處理 174
5.2.1 靜態文件查找器 175
5.2.2 靜態文件查找器:在請求期間使用 176
5.2.3 AppDirectoriesFinder 177
5.2.4 靜態文件命名空間 177
5.2.5 利用靜態模板標簽生成靜態URL 182
5.2.6 FileSystemFinder 190
5.2.7 靜態文件查找器:collectstatic期間的應用 193
5.2.8 STATICFILES_DIRS前綴模式 196
5.2.9 findstatic命令 198
5.2.10 處理最近的文件 201
5.2.11 自定義存儲引擎 207
5.3 本章小結 214
第6章 表單 215
6.1 簡介 215
6.2 表單的含義 215
6.2.1 <form>元素 217
6.2.2 輸入類型 219
6.2.3 具有跨站點請求偽造保護的表單安全性 227
6.2.4 在視圖中訪問數據 229
6.2.5 選擇GET和POST 234
6.2.6 當可以在URL中放置參數時為何使用GET 235
6.3 Django表單庫 236
6.3.1 定義一個表單 237
6.3.2 在模板中渲染表單 245
6.4 驗證表單並檢索Python值 253
6.5 內置字段的驗證 258
6.6 本章小結 264
第7章 高級表單驗證和模型表單 265
7.1 簡介 265
7.2 自定義字段驗證和清除機制 266
7.2.1 自定義驗證器 266
7.2.2 clean方法 267
7.2.3 多字段驗證 269
7.2.4 占位符和初始值 279
7.2.5 創建和編輯Django模型 282
7.2.6 ModelForm類 283
7.3 本章小結 300
第8章 媒體服務和文件上傳 301
8.1 簡介 301
8.2 設置媒體上傳和服務 301
8.3 服務於開發環境中的媒體文件 302
8.4 上下文預處理器以及在模板中使用MEDIA_URL 305
8.5 使用HTML表單上傳文件 310
8.5.1 在視圖中處理上傳文件 311
8.5.2 瀏覽器發送值的安全性和信任性 313
8.5.3 基於Django表單的文件上傳 318
8.5.4 基於Django表單的圖像上傳 323
8.5.5 利用Pillow重置圖像 324
8.5.6 利用Django服務於上傳(和其他)文件 328
8.6 在模型實例上存儲文件 329
8.6.1 在模型實例上存儲圖像 332
8.6.2 與FieldFile協同工作 333
8.6.3 在模板中引用媒體 338
8.6.4 ModelForm和文件上傳 343
8.7 本章小結 353
第9章 會話和身份驗證 355
9.1 簡介 355
9.2 中間件 356
9.2.1 中間件模塊 356
9.2.2 實現身份驗證視圖和模板 358
9.2.3 Django中的密碼存儲 364
9.2.4 概要頁面和request.user對象 365
9.2.5 身份驗證裝飾器和重定向 367
9.2.6 利用身份驗證數據增強模板 371
9.3 會話 375
9.3.1 會話引擎 375
9.3.2 是否需要標記cookie內容 376
9.3.3 pickle或JSON存儲 376
9.3.4 在會話中存儲數據 380
9.4 本章小結 387
第10章 高級Django管理和定製 389
10.1 簡介 389
10.2 定製管理站點 390
10.2.1 在Django中發現管理文件 390
10.2.2 Django的AdminSite類 391
10.2.3 覆蓋默認的admin.site 395
10.2.4 利用admin.site屬性自定義管理站點文本 397
10.2.5 自定義管理站點模板 398
10.3 向管理站點中添加視圖 401
10.3.1 創建視圖函數 401
10.3.2 訪問常見的模板變量 402
10.3.3 映射自定義視圖的URL 402
10.3.4 限制自定義視圖到管理站點 403
10.3.5 利用模板變量向模板中添加額外的鍵 406
10.4 本章小結 409
第11章 高級模板和基於類的視圖 411
11.1 簡介 411
11.2 模板過濾器 412
11.3 自定義模板過濾器 413
11.3.1 模板過濾器 413
11.3.2 設置目錄存儲模板過濾器 413
11.3.3 設置模板庫 414
11.3.4 實現自定義過濾函數 414
11.3.5 在模板中使用自定義過濾器 415
11.3.6 字符串過濾器 418
11.4 模板標簽 418
11.4.1 模板標簽的類型 419
11.4.2 簡單標簽 419
11.4.3 如何創建簡單的模板標簽 419
11.4.4 將模板上下文傳遞至自定義模板標簽中 423
11.4.5 包含標簽 424
11.5 Django視圖 428
11.6 基於類的視圖 428
11.6.1 基於CBV的CRUD操作 435
11.6.2 創建視圖 435
11.6.3 更新視圖 436
11.6.4 刪除視圖 437
11.6.5 讀取頁面 438
11.7 本章小結 440
第12章 構建REST API 441
12.1 簡介 441
12.2 REST API 441
12.2.1 Django REST框架 442
12.2.2 安裝和配置 442
12.2.3 函數式API視圖 443
12.3 序列化器 445
12.3.1 基於類的API視圖和通用視圖 448
12.3.2 模型序列化器 448
12.4 Viewsets 453
12.5 路由器 453
12.6 身份驗證 457
12.7 本章小結 462
第13章 生成CSV、PDF和其他二進制文件 465
13.1 簡介 465
13.2 與Python中的CSV文件協同工作 465
13.3 與Python的CSV模塊協同工作 466
13.3.1 從CSV文件中讀取數據 466
13.3.2 利用Python寫入CSV文件 469
13.3.3 以較好的方式讀寫CSV文件 472
13.4 在Python中處理Excel文件 475
13.4.1 用於數據導出的二進制文件格式 475
13.4.2 利用XlsxWriter包處理XLSX文件 476
13.5 在Python中處理PDF文件 481
13.6 Python中的圖形 484
13.6.1 利用plotly生成圖形 484
13.6.2 將plotly與Django集成 488
13.7 將可視化與Django集成 488
13.8 本章小結 494
第14章 測試機制 495
14.1 簡介 495
14.2 測試的重要性 495
14.3 自動化測試 496
14.4 Django中的測試機制 497
14.4.1 實現測試用例 497
14.4.2 Django中的單元測試機制 497
14.4.3 使用斷言 498
14.4.4 斷言的類型 500
14.4.5 在每個測試用例運行後執行測試前設置和清理 501
14.5 測試Django模型 502
14.6 測試Django視圖 506
14.7 使用身份驗證測試視圖 509
14.8 Django的RequestFactory類 513
14.9 Django中的測試用例類 516
14.9.1 SimpleTestCase 516
14.9.2 TransactionTestCase 517
14.9.3 LiveServerTestCase 517
14.9.4 模塊化測試代碼 517
14.10 本章小結 519
第15章 Django第三方庫 521
15.1 簡介 521
15.1.1 環境變量 522
15.1.2 django-configurations 524
15.1.3 修改manage.py文件 526
15.1.4 源自環境變量的配置 527
15.1.5 dj-database-url 532
15.1.6 Django調試工具欄 536
15.2 django-crispy-forms 556
15.2.1 crispy過濾器 557
15.2.2 crispy模板標簽 559
15.2.3 django-allauth 564
15.2.4 利用django-allauth初始化身份認證 569
15.3 本章小結 572
第16章 在Django中使用前端JavaScript庫 573
16.1 簡介 573
16.2 JavaScript框架 573
16.3 JavaScript簡介 575
16.3.1 React 581
16.3.2 組件 582
16.3.3 JSX 589
16.3.4 JSX屬性 591
16.3.5 JavaScript Promise 594
16.3.6 fetch函數 595
16.3.7 JavaScript map方法 597
16.3.8 verbatim模板標簽 602
16.4 本章小結 607
·XVIII·
Django Web項目開發實戰
·XIX·
目 錄