Django Web項目開發實戰

[美]本·肖恩 等著 劉璋 譯

  • Django Web項目開發實戰-preview-1
  • Django Web項目開發實戰-preview-2
  • Django Web項目開發實戰-preview-3
Django Web項目開發實戰-preview-1

相關主題

商品描述

《Django Web項目開發實戰》詳細闡述了與Django開發相關的基本知識,主要包括Django簡介,模型和遷移,URL映射、視圖和模板,Django admin簡介,服務於靜態文件,表單,高級表單驗證和模型表單,媒體服務和文件上傳,會話和身份驗證,高級Django管理和定製,高級模板和基於類的視圖,構建REST API,生成CSV、PDF和其他二進制文件,測試機制,Django第三方庫,在Django中使用前端JavaScript庫等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。

目錄大綱

目    錄

第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·

目    錄