第1堂網站開發環境的建立11.1網站的基礎知識1
1.1.1網站的運行流程1
1.1.2Python/Django扮演的角色2
1.1.3使用Python/Django建立網站的優勢3
1.2建立網站開發流程3
1.2.1開發流程簡介4
1.2.2在Windows中建立Linux虛擬機5
1.2.3在MacOS中安裝Linux虛擬機11
1.2.4在Linux虛擬機中創建PythonDjango開發環境17
1.2.5設置SSH、PuTTY以及FTP服務器18
1.2.6安裝Notepad++程序編輯器22
1.3活用版本控制系統26
1.3.1版本控制系統Git簡介26
1.3.2申請Bitbucket賬號26
1.3.3在虛擬機中連接Bitbucket29
1.3.4在不同的計算機之間開發同一個網站31
1.4其他網站項目開發環境的安裝建議32
1.4.1在Windows10中創建開發環境32
1.4.2在MacOS中創建開發環境35
1.4.3在Cloud9中創建開發環境37
1.4.4在DigitalOceanVPS中創建開發環境39
1.5習題40
第2堂Django網站快速入門41
2.1個人博客網站規劃41
2.1.1博客網站的需求與規劃41
2.1.2產生第一個網站框架41
2.1.3Django文件夾與文件解析44
2.2創建博客數據表46
2.2.1數據庫與Django的關系46
2.2.2定義數據模型47
2.2.3啟動admin管理界面48
2.2.4讀取數據庫中的內容52
2.3網址對應與頁面輸出55
2.3.1創建網頁輸出模板template55
2.3.2網址對應urls.py60
2.3.3共享模板的使用62
2.4高級網站功能的運用65
2.4.1JavaScript以及CSS文件的引用65
2.4.2圖像文件的應用69
2.4.3在主網頁顯示文章摘要71
2.4.4博客文章的HTML內容處理73
2.4.5Markdown語句解析與應用75
2.5習題77
第3堂讓網站上線78
3.1在DigitalOcean上部署78
3.1.1申請賬號與創建虛擬主機78
3.1.2安裝Apache網頁服務器及Django執行環境82
3.1.3修改settings.py、000-default.conf等相關設置83
3.1.4創建域名以及多平臺設置86
3.2在Heroku上部署89
3.2.1Heroku賬號申請與環境設置89
3.2.2修改網站的相關設置91
3.2.3上傳網站到Heroku主機92
3.2.4Heroku主機的操作96
3.3在GoogleCloudPlatform上部署97
3.3.1GoogleCloudPlatform的介紹98
3.3.2GoogleComputing的啟用與設置101
3.3.3GoogleAppEngine的說明與設置104
3.4習題111
第4堂深入了解Django的MVC架構112
4.1Django的MVC架構簡介112
4.1.1MVC架構簡介112
4.1.2Django的MTV架構113
4.1.3Django網站的構成以及配合114
4.1.4在DjangoMTV架構下的網站開發步驟115
4.2Model簡介116
4.2.1在models.py中創建數據表116
4.2.2在admin.py中創建數據表管理界面119
4.2.3在PythonShell中操作數據表123
4.2.4數據的查詢與編輯125
4.3View簡介127
4.3.1建立簡易的HttpResponse網頁127
4.3.2在views.py中顯示查詢數據列表129
4.3.3網址欄參數處理的方式131
4.4Template簡介133
4.4.1創建template文件夾與文件133
4.4.2傳送變量到template文件中134
4.4.3在template中處理列表變量137
4.5最終版本摘要138
4.6習題142
第5堂網址的對應與委派143
5.1Django網址架構143
5.1.1URLconf簡介143
5.1.2urlpatterns的RegularExpression語法說明145
5.1.3驗證RE設計URL的正確性148
5.2高級設置技巧149
5.2.1參數的傳送149
5.2.2include其他整組的urlpatterns設置150
5.2.3URLconf的反解功能151
5.3習題152
第6堂Template深入探討153
6.1Template的設置與運行153
6.1.1settings.py設置153
6.1.2創建templates文件155
6.1.3在templates文件中使用現有的網頁框架156
6.1.4直播電視網站應用范例157
6.1.5在template中使用static文件161
6.2高級Template技巧163
6.2.1Template模板的繼承163
6.2.2共享模板的使用范例165
6.3Template語言166
6.3.1判斷指令167
6.3.2循環指令168
6.3.3過濾器與其他語法標記173
6.4習題176
第7堂Models與數據庫177
7.1網站與數據庫177
7.1.1數據庫簡介177
7.1.2規劃網站需要的數據庫178
7.1.3數據表內容設計181
7.1.4models.py設計182
7.2活用Model制作網站183
7.2.1建立網站183
7.2.2制作網站模板186
7.2.3制作多數據表整合查詢網頁188
7.2.4調整admin管理網頁的外觀192
7.3在Django中使用MySQL數據庫系統194
7.3.1安裝開發環境中的MySQL連接環境(Ubuntu)194
7.3.2安裝開發環境中的MySQL連接環境(Windows)195
7.3.3使用Google云端主機的商用SQL服務器199
7.4習題203
第8堂網站窗體的應用204
8.1網站與窗體204
8.1.1HTML<form>窗體簡介204
8.1.2活用窗體的標簽208
8.1.3建立本堂課范例網站的數據模型210
8.1.4網站窗體的建立與數據顯示212
8.1.5接收窗體數據存儲于數據庫中214
8.1.6加上刪除帖文的功能215
8.2基礎窗體類的應用217
8.2.1使用POST傳送窗體數據218
8.2.2結合窗體和數據庫222
8.2.3數據接收與字段的驗證方法226
8.2.4使用第三方服務發送電子郵件229
8.3模型窗體類ModelForm的應用233
8.3.1ModelForm的使用233
8.3.2通過ModelForm產生的窗體存儲數據235
8.3.3為窗體加上防機器人的驗證機制237
8.4習題240
第9堂網站的Session功能241
9.1Session簡介241
9.1.1復制Django網站241
9.1.2Cookie簡介242
9.1.3使用Cookie建立網站登錄功能243
9.1.4開始使用Session249
9.2活用Session250
9.2.1建立用戶數據表250
9.2.2整合Django的信息顯示框架messagesframework257
9.3Djangoauth用戶驗證260
9.3.1使用Django的用戶驗證系統260
9.3.2增加User的字段264
9.3.3顯示新增加的User字段266
9.3.4應用auth用戶驗證存取數據庫268
9.4習題274
第10堂網站用戶的注冊與管理275
10.1建立網站用戶的自動化注冊功能275
10.1.1django-registration安裝與設置275
10.1.2建立django-registration所需的模板276
10.1.3整合用戶注冊功能到分享日記網站280
10.2Pythonanywhere.com免費Python網站開發環境285
10.2.1注冊Pythonanywhere.com賬號286
10.2.2在Pythonanywhere免費網站中建立虛擬機環境以及Django網站292
10.2.3建立投票網站的基本架構298
10.3使用Facebook驗證賬號操作實踐307
10.3.1在Pythonanywhere中安裝django-allauth與設置307
10.3.2到Facebook開發者網頁申請驗證機制309
10.3.3在網站中識別用戶的登錄狀態314
10.3.4客戶化django-allauth頁面318
10.4習題321
第11堂社交網站應用實踐322
11.1投票網站的規劃與調整322
11.1.1網站功能與需求322
11.1.2數據表與頁面設計324
11.1.3網站的轉移327
11.1.4移動設備的考慮329
11.2深入探討django-allauth331
11.2.1django-allauth的Template標簽331
11.2.2django-allauth的Template頁面333
11.2.3獲取Facebook用戶的信息335
11.3投票網站功能解析336
11.3.1首頁的分頁顯示功能337
11.3.2自定義標簽并在首頁顯示目前的投票數339
11.3.3使用AJAX和jQuery改進投票的效果341
11.3.4避免重復投票的方法348
11.3.5新建Twitter賬號鏈接350
11.4習題355
第12堂電子商店網站實踐356
12.1打造迷你電商網站356
12.1.1復制網站,不要從零開始356
12.1.2創建網站所需要的數據表358
12.1.3上傳照片的方法django-filer362
12.1.4把django-filer的圖像文件添加到數據表中367
12.2增加網站功能370
12.2.1分類查看產品370
12.2.2顯示詳細的產品內容374
12.2.3購物車功能376
12.2.4建立訂單功能381
12.3電子支付功能390
12.3.1建立付款流程390
12.3.2建立PayPal付款鏈接393
12.3.3接收PayPal付款完成通知400
12.3.4測試PayPal付款功能401
12.4習題407
第13堂全功能電子商店網站django-oscar實踐408
13.1Django購物網站Oscar的安裝與使用408
13.1.1電子購物網站模板408
13.1.2DjangoOscar購物車系統測試網站安裝409
13.2建立Oscar的應用網站411
13.2.1安裝前的準備412
13.2.2建立網站的域名412
13.2.3調整Apache2配置文件414
13.2.4建立DjangoOscar購物網站項目415
13.2.5加上電子郵件的發送功能422
13.2.6簡單地修改Oscar網站的設置424
13.2.7增加PayPal在線付款功能427
13.3自定義Oscar網站432
13.3.1建立自己的templates,打造客戶化的外觀433
13.3.2網站的中文翻譯444
13.4習題445
第14堂二級網絡域名管理網站實踐446
14.1建立網站前的準備工作446
14.1.1什么是二級網絡域名以及網絡域名代管服務446
14.1.2申請網絡域名以及網絡域名代管服務DNSimple447
14.1.3設置網站主機的空間450
14.1.4建立網站框架450
14.2建立會員網站452
14.2.1加入電子郵件功能452
14.2.2安裝與使用django-registration453
14.2.3安裝dnsimple模塊459
14.3網站功能設計461
14.3.1建立網站首頁的說明頁面462
14.3.2創建數據表463
14.3.3建立網址管理頁面464
14.3.4Subdomain數據表的存取466
14.3.5整合到dnsimple.com中469
14.4習題475
第15堂名言佳句產生器網站實踐477
15.1建立網站前的準備477
15.1.1準備網站所需的素材477
15.1.2圖文整合練習478
15.1.3建立可隨機顯示圖像的網站479
15.2產生器功能的實現483
15.2.1建立產生器界面483
15.2.2產生唯一的文件名486
15.2.3開始合并并產生圖像文件486
15.2.4準備多個背景圖像文件以供選擇490
15.3自定義圖像文件功能496
15.3.1加入會員注冊功能496
15.3.2建立上傳文件的界面497
15.3.3上傳文件的方法502
15.3.4實時產生結果504
15.4習題506
第16堂課程回顧與您的下一步507
16.1善加運用網站資源507
16.2部署上線的注意事項510
16.3SSL設置實踐513
16.4程序代碼和網站測試的重要性525
16.5其他Python框架528
16.6您的下一步528