Python Django 4構建動態網站的16堂課
何敏煌、林亮昀
相關主題
商品描述
目錄大綱
目 錄
第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