Python Django 4構建動態網站的16堂課

何敏煌、林亮昀

  • Python Django 4構建動態網站的16堂課-preview-1
  • Python Django 4構建動態網站的16堂課-preview-2
  • Python Django 4構建動態網站的16堂課-preview-3
Python Django 4構建動態網站的16堂課-preview-1

相關主題

商品描述

《Python Django 4構建動態網站的16堂課》是一本關於Django框架的網站開發入門教材,適合想要學習並掌握Django框架的開發人員閱讀。《Python Django 4構建動態網站的16堂課》共分16課,內容包括網站開發環境的建立、Django網站快速入門、讓網站上線、深入瞭解Django的MVC架構、網址的對應與委派、模板深入探討、Models與數據庫、網站表單的應用、網站的Session功能、網站用戶的註冊與管理、社交網站應用實踐、電子商務網站實踐、全功能電子商務網站django-oscar實踐、使用Mezzanine快速打造CMS網站、名言佳句產生器網站實踐以及課程回顧與你的下一步計劃等。 《Python Django 4構建動態網站的16堂課》通過實際案例和詳細說明幫助讀者從零開始掌握Django框架的開發技能,提高網站開發能力和水平。《Python Django 4構建動態網站的16堂課》既可作為希望快速上手Python+Django的初學者的參考書,也可作為Python培訓機構在Python+Django方面的培訓教程。

目錄大綱

目    錄

第1課  網站開發環境的建立 1

1.1  網站的基礎知識 1

1.1.1  網站的運行流程 2

1.1.2  Python/Django扮演的角色 3

1.1.3  使用Python/Django搭建網站的優勢 4

1.2  創建網站的開發流程 4

1.2.1  開發流程簡介 4

1.2.2  在Windows安裝Anaconda 5

1.2.3  在Windows操作系統中建立Visual Studio Code開發環境 7

1.2.4  Python Django虛擬環境的創建 10

1.3  活用版本控制系統 13

1.3.1  版本控制系統Git簡介 13

1.3.2  申請GitHub賬號並創建遠程代碼倉庫 14

1.3.3  在本地電腦中連接GitHub代碼倉庫 16

1.3.4  在不同的電腦上開發同一個網站 19

1.4  本課習題 20

第2課  Django網站快速入門 21

2.1  個人博客網站規劃 21

2.1.1  博客網站的需求與規劃 21

2.1.2  產生第一個網站框架 22

2.1.3  Django文件夾與文件解析 26

2.2  創建博客數據表 28

2.2.1  數據庫與Django的關系 28

2.2.2  定義數據模型 28

2.2.3  啟動admin管理界面 29

2.2.4  讀取數據庫中的內容 33

2.3  網址對應與頁面輸出 36

2.3.1  創建網頁輸出模板 36

2.3.2  網址對應urls.py 40

2.3.3  共享模板的使用 42

2.4  高級網站功能的運用 45

2.4.1  JavaScript以及CSS文件的引用 45

2.4.2  圖像文件的應用 48

2.4.3  在主網頁顯示文章摘要 50

2.4.4  博客文章的HTML內容處理 51

2.4.5  Markdown語句的解析與應用 54

2.5  本課習題 57

第3課  讓網站上線 58

3.1  DigitalOcean部署 58

3.1.1  申請賬號與創建虛擬主機 58

3.1.2  安裝Apache網頁服務器及Django執行環境 61

3.1.3  修改settings.py以及000-default.conf等相關設置 65

3.1.4  創建域名並進行多平臺設置 68

3.2  在Heroku上部署 74

3.2.1  Heroku賬號申請與環境設置 74

3.2.2  修改網站的相關設置 77

3.2.3  上傳網站到Heroku主機 78

3.2.4  Heroku主機的操作 81

3.3  本課習題 82

第4課  深入瞭解Django的MVC架構 83

4.1  Django的MVC架構簡介 83

4.1.1  MVC架構簡介 84

4.1.2  Django的MTV架構 84

4.1.3  Django網站的構成及配合 85

4.1.4  在Django MTV架構下的網站開發步驟 86

4.2  Model簡介 88

4.2.1  在models.py中創建數據表 88

4.2.2  在admin.py中創建數據表管理界面 91

4.2.3  在Python Shell中操作數據表 95

4.2.4  數據的查詢與編輯 97

4.3  View簡介 99

4.3.1  建立簡易的HttpResponse網頁 99

4.3.2  在views.py中顯示查詢數據列表 100

4.3.3  網址欄參數處理的方式 102

4.4  模板簡介 104

4.4.1  創建template文件夾與文件 104

4.4.2  把變量傳送到template文件中 105

4.4.3  在template中處理列表變量 108

4.5  本課範例網站的最終版本摘要 109

4.6  本課習題 112

第5課  網址的對應與委派 113

5.1  Django網址架構 113

5.1.1  URLconf簡介 113

5.1.2  委派各個網址到處理函數 115

5.1.3  urlpatterns的正則表達式語法說明(適用於Django 2.0以前的版本) 118

5.1.4  驗證正則表達式設計URL的正確性 121

5.2  高級設置技巧 122

5.2.1  參數的傳送 122

5.2.2  include其他整組的urlpatterns設置 123

5.2.3  URLconf的反解功能 123

5.3  本課習題 124

第6課  模板深入探討 125

6.1  模板的設置與運行 125

6.1.1  settings.py設置 125

6.1.2  創建模板文件 128

6.1.3  在模板文件中使用現有的網頁框架 129

6.1.4  直播電視網站應用範例 130

6.1.5  在模板中使用靜態文件 134

6.2  高級模板技巧 136

6.2.1  模板的繼承 136

6.2.2  共享模板的使用範例 138

6.3  模板語言 139

6.3.1  判斷指令 140

6.3.2  循環指令 141

6.3.3  過濾器與其他的語法標記 145

6.4  本課習題 149

第7課  Models與數據庫 150

7.1  網站與數據庫 150

7.1.1  數據庫簡介 150

7.1.2  規劃網站需要的數據庫 151

7.1.3  數據表內容設計 153

7.1.4  models.py設計 155

7.2  活用Model製作網站 156

7.2.1  建立網站 156

7.2.2  製作網站模板 160

7.2.3  製作多數據表整合查詢網頁 162

7.2.4  調整admin管理網頁的外觀 166

7.3  在Django中使用MySQL數據庫系統 169

7.3.1  安裝開發環境中的MySQL連接環境(Ubuntu) 169

7.3.2  安裝開發環境中的MySQL連接環境(Windows) 170

7.3.3  使用Google雲端主機的商用SQL服務器 174

7.3.4  DB Browser for SQLite的安裝與應用 178

7.3.5  Windows Subsystem for Linux安裝MySQL客戶端程序 179

7.3.6  在Windows下使用Docker安裝MySQL 180

7.4  本課習題 187

第8課  網站表單的應用 188

8.1  網站與表單 188

8.1.1  HTML<form>表單簡介 188

8.1.2  活用表單的標簽 192

8.1.3  建立本堂課範例網站的數據模型 196

8.1.4  網站表單的建立與數據顯示 198

8.1.5  接收表單數據存儲於數據庫中 199

8.1.6  加上刪除帖文的功能 200

8.2  基礎表單類的應用 202

8.2.1  使用POST傳送表單數據 202

8.2.2  結合表單和數據庫 206

8.2.3  數據接收與字段的驗證方法 210

8.2.4  使用第三方服務發送電子郵件 213

8.3  模型表單類ModelForm的應用 217

8.3.1  ModelForm的使用 218

8.3.2  通過ModelForm產生的表單存儲數據 220

8.3.3  為表單加上防機器人驗證機制 221

8.4  MongoDB數據庫的操作與應用 223

8.4.1  MongoDB的安裝 223

8.4.2  Python對MongoDB的連接與操作 229

8.4.3  在Django網站中訪問MongoDB 231

8.5  本課習題 234

第9課  網站的Session功能 235

9.1  Session簡介 235

9.1.1  復制Django網站 235

9.1.2  Cookie簡介 236

9.1.3  建立網站登錄功能 238

9.1.4  Session的相關函數介紹 243

9.2  活用Session 244

9.2.1  建立用戶數據表 244

9.2.2  整合Django的信息顯示框架 251

9.3  Django Auth用戶驗證 254

9.3.1  使用Django的用戶驗證系統 254

9.3.2  增加User的字段 257

9.3.3  顯示新增加的User字段 259

9.3.4  應用Auth用戶驗證存取數據庫 261

9.3.5  使用Django系統提供的登錄界面 266

9.4  動態圖表展示 268

9.4.1  導入CSV文件數據 268

9.4.2  使用Chart.js在網頁上繪制圖表 270

9.4.3  使用Plotly在網頁上繪制圖表 275

9.5  本課習題 280

第10課  網站用戶的註冊與管理 281

10.1  建立網站用戶的自動化註冊功能 281

10.1.1  django-registration-redux的安裝與設置 281

10.1.2  創建django-registration-redux所需的模板 284

10.1.3  整合用戶註冊功能到分享日記網站 287

10.2  pythonanywhere.com免費的Python網站開發環境 292

10.2.1  註冊pythonanywhere.com賬號 292

10.2.2  在pythonanywhere.com免費網站中創建虛擬環境以及Django網站 299

10.2.3  創建投票網站的基本架構 305

10.3  本課習題 312

第11課  社交網站應用實踐 313

11.1  投票網站的規劃與調整 313

11.1.1  網站功能與需求 313

11.1.2  數據表與頁面設計 315

11.1.3  移動設備的考慮 318

11.2  深入探討django-allauth 320

11.2.1  django-allauth的Template標簽 321

11.2.2  django-allauth的Template頁面 322

11.2.3  獲取用戶的信息 324

11.3  投票網站功能解析 326

11.3.1  首頁的分頁顯示功能 327

11.3.2  自定義標簽並在首頁顯示目前的投票數 328

11.3.3  使用AJAX和jQuery改進投票的效果 330

11.3.4  避免重復投票的方法 336

11.3.5  添加和刪除投票項 338

11.3.6  新建Google賬號鏈接 343

11.4  本課習題 351

第12課  電子商務網站實踐 352

12.1  打造迷你電商網站 352

12.1.1  使用項目模板 352

12.1.2  創建網站所需要的數據表 353

12.1.3  上傳照片的方法django-filer 358

12.1.4  把django-filer的圖像文件添加到數據表中 362

12.2  增加網站功能 365

12.2.1  分類查看產品 365

12.2.2  顯示產品的詳細信息 369

12.2.3  購物車功能 371

12.2.4  建立訂單功能 376

12.3  電子支付功能 385

12.3.1  建立付款流程 385

12.3.2  建立PayPal付款鏈接 388

12.3.3  接收PayPal付款完成通知 393

12.3.4  測試PayPal付款功能 394

12.4  本課習題 401

第13課  全功能電子商務網站django-oscar實踐 402

13.1  Django購物網站Oscar的安裝與使用 402

13.1.1  電子購物網站模板 402

13.1.2  Django Oscar購物車系統測試網站安裝 403

13.2  構建Oscar的應用網站 406

13.2.1  創建Django Oscar購物網站項目 406

13.2.2  加上電子郵件的發送功能 413

13.2.3  簡單地修改Oscar網站的設置 415

13.2.4  增加PayPal在線付款功能 419

13.3  自定義Oscar網站 425

13.3.1  建立自己的templates,打造定製的外觀 425

13.3.2  網站的中文翻譯 437

13.4  本課習題 438

第14課  使用Mezzanine快速打造CMS網站 439

14.1  快速安裝Mezzanine CMS網站 439

14.1.1  什麽是Mezzanine 439

14.1.2  安裝Mezzanine 440

14.1.3  安裝Mezzanine主題 445

14.1.4  Mezzanine網站的設置與調整 449

14.2  使用Mezzanine構建電子商務網站 451

14.2.1  安裝電子購物車套件與構建網站 451

14.2.2  自定義Mezzanine網站的外觀 453

14.3  本課習題 456

第15課  名言佳句產生器網站實踐 457

15.1  構建網站前的準備 457

15.1.1  準備網站所需的素材 457

15.1.2  圖文整合練習 458

15.1.3  構建可隨機顯示圖片的網站 460

15.2  產生器功能的實現 464

15.2.1  創建產生器界面 464

15.2.2  產生唯一的文件名 466

15.2.3  開始進行圖文整合以產生圖片文件 466

15.2.4  準備多個背景圖片文件以供選擇 471

15.3  自定義圖片文件功能 475

15.3.1  加入會員註冊功能 475

15.3.2  創建上傳文件的界面 476

15.3.3  上傳文件的方法 480

15.3.4  實時產生結果 482

15.4  本課習題 484

第16課  課程回顧與你的下一步計劃 485

16.1  善加運用網站資源 485

16.2  部署上線的註意事項 488

16.3  SSL設置實踐 490

16.4  程序代碼和網站測試的重要性 493

16.5  其他Python框架 496

16.6  你的下一步計劃 496