Python Web 開發基礎教程 (Django版)(微課版)
內容描述
本書系統地講述了基於Django框架的Python Web開發的相關基礎知識,涵蓋了開發環境配置、Django配置、URL分發、模型和數據庫、視圖、模板、表單、Django工具等內容。對每一個知識點,本書都盡量結合實例幫助讀者學習理解,並在每一章最後給出一個綜合實例說明本章知識的使用。
目錄大綱
第1章Python Web開發起步1
1.1 Python Web開發簡介1
1.1.1 Web應用基本架構1
1.1.2 Web框架簡介1
1.1.3 Python Web框架簡介2
1.1.4 Django簡介2
1.2配置Web開發環境4
1.2.1安裝Python 4
1.2.2安裝Django 6
1.2.3配置系統環境變量7
1.2.4安裝Visual Studio 9
1.3創建Django項目10
1.3.1執行命令創建項目10
1.3.2關於django-admin和manage.py 12
1.3.3添加應用13
1.3.4在Visual Studio中創建項目15
1.3.5為項目定制虛擬開發環境17
1.4實踐:創建HelloWorld項目19
本章小結21
習題21
第2章Django配置22
2.1 Django項目的配置文件22
2.1.1基本配置22
2.1.2模板配置25
2.1.3數據庫配置26
2.1.4靜態資源配置26
2.2在Web服務器中部署項目28
2.2.1常用Web服務器28
2.2 .2 WSGI簡介28
2.2.3在IIS中部署Django項目30
2.2.4部署包含靜態資源的Django項目34
2.3實踐:在IIS中配置HelloWorld項目36
本章小結39
習題39
第3章URL分發40
3.1 URL分發機制簡介40
3.2 URL配置41
3.2.1 URL解析函數41
3.2.2使用正則表達式42
3.2.3包含其他的URL配置45
3.3 URL參數傳遞47
3.3.1獲取URL中的數據47
3.3.2路徑轉換器48
3.3.3正則表達式中的變量50
3.3.4傳遞附加數據50
3.3.5使用帶默認值的參數51
3.4反向解析URL 52
3.4.1反向解析不帶參數的命名URL模式52
3.4.2反向解析帶參數的命名URL模式52
3.4.3反向解析視圖函數53
3.4.4在模板中反向解析URL 54
3.5 URL命名空間55
3.5.1 URL命名空間簡介55
3.5.2使用URL的應用命名空間55
3.5.3使用URL的實例命名空間58
3.6實踐:為HelloWorld項目增加導航鏈接60
本章小結61
習題61
第4章模型和數據庫62
4.1模型基礎62
4.1.1定義模型62
4.1.2模型配置63
4.1.3遷移數據庫64
4.1.4定義字段66
4.2數據操作67
4.2.1在Visual Studio中管理SQLite數據庫68
4.2.2添加數據70
4.2.3獲取數據71
4.2.4字段查找73
4.2.5更新數據75
4.2.6刪除數據75
4.2.7查詢集操作75
4.3索引77
4.3.1使用字段選項創建索引78
4.3.2在Meta子類中定義索引78
4.4特殊查詢表達式79
4.4.1準備實例數據79
4.4.2 F()表達式81
4.4.3數據庫函數表達式82
4.4.4 Subquery()表達式82
4.4.5聚合函數82
4.4.6原始SQL表達式83
4.5執行原始SQL查詢83
4.5.1用raw()方法執行原始SQL 84
4.5.2直接執行原始SQL 85
4.6關係86
4.6.1多對一關係86
4.6.2多對多關係89
4.6.3使用中間模型92
4.6.4一對一關係93
4.7實踐:定義用戶模型95
本章小結96
習題96
第5章視圖98
5.1定義視圖98
5.1.1定義和使用視圖98
5.1.2返回錯誤99
5.1.3處理Http404異常102
5.2處理請求和響應102
5.2.1獲取請求數據102
5.2.2處理響應內容103
5.2.3文件附件104
5.2.4生成CSV文件105
5.2.5生成PDF文件106
5.2.6返回JSON字符串107
5.2.7使用響應模板108
5.2.8重定向108
5.3在視圖中使用模型109
5.3.1在視圖中輸出模型數據109
5.3.2數據分頁110
5.4基於類的視圖113
5.4.1使用基於類的視圖113
5.4.2設置視圖類屬性116
5.4.3擴展視圖類116
5.5內置通用視圖117
5.5.1通用視圖DetailView 117
5.5.2通用視圖ListView 119
5.6實踐:實現圖形驗證碼120
本章小結122
習題123
第6章模板124
6.1模板基礎124
6.1.1配置模板引擎124
6.1.2使用模板類125
6.1.3使用模板文件125
6.2模板語言127
6.2.1變量127
6.2.2註釋128
6.2.3過濾器128
6.2.4標籤:include 129
6.2.5標籤:for 130
6.2.6標籤:if 132
6.3模板繼承133
6.4實踐:用模板實現數據分頁134
本章小結136
習題137
第7章表單138
7.1表單基礎138
7.1.1 HTML表單138
7.1.2 Django表單140
7.2 Django表單進階142
7.2.1表單字段渲染方式142
7.2.2表單字段類型和參數144
7.2.3使用小部件147
7.2.4字段校驗148
7.2.5使用表單數據150
7.2.6手動渲染字段151
7.2.7遍歷字段152
7.2.8表單集154
7.3模型表單155
7.3.1模型表單基本操作156
7.3.2在視圖中使用模型表單157
7.3.3自定義模型表單字段158
7.4資源160
7.4.1小部件資源160
7.4.2表單資源161
7.5 Ajax 162
7.5.1實現客戶端Web頁面163
7.5.2處理請求164
7.6實踐:實現用戶註冊164
本章小結169
習題169
第8章Django工具170
8.1 Admin站點170
8.1.1啟用Admin站點170
8.1.2管理用戶173
8.1.3管理組175
8.1.4管理模型178
8.2用戶認證182
8.2.1用戶認證相關模型182
8.2.2控制台用戶管理184
8.2.3內置認證視圖186
8.2.4自定義視圖中的身份認證194
8.2.5限制頁面登錄訪問195
8.2.6限制頁面訪問權限197
8.2.7自定義頁面訪問限制條件197
8.3發送E-mail 197
8.3.1 E-mail配置197
8.3.2發送密碼重置郵件198
8.3.3自定義E-mail發送199
8.3.4 E-mail後端202
8.4會話控制203
8.4.1啟用會話控制203
8.4.2會話對象方法205
8.4.3在視圖中使用會話207
8.5實踐:自定義User模型209
本章小結216
習題216
第9章Python在線題庫217
9.1項目設計217
9.1.1功能分析217
9.1.2數據庫設計217
9.2項目實現218
9.2.1創建項目和應用218
9.2.2創建模型和數據庫218
9.2.3註冊模型221
9.2.4創建添加和修改試題對像模板223
9.2.5創建添加和修改試卷內容對像模板223
9.2.6實現隨機抽取試題224
9.3數據管理225
9.3.1試題類型模型管理225
9.3 .2試題模型管理226
9.3.3試卷模板模型管理227
9.3.4試卷內容模型管理228
9.4實現試卷導出229
9.4.1基本思路230
9.4.2定義試卷導出頁面模板230
9.4.3定義試卷導出相關視圖231
9.4.4測試試卷導出頁面234
本章小結235
習題235
作者介紹
夏幫貴,1998年畢業於西南大學,主要從事數據庫、軟件開發,已出版VB、C/C++、VF、Java、PHP、ASP.NET、Python等相關教材十餘部。