Python Web開發(fā)手冊(cè):基礎(chǔ)·實(shí)戰(zhàn)·強(qiáng)化
《Python Web開發(fā)手冊(cè):基礎(chǔ)·實(shí)戰(zhàn)·強(qiáng)化》是“計(jì)算機(jī)科學(xué)與技術(shù)手冊(cè)系列”圖書之一,該系列圖書內(nèi)容全面,以理論聯(lián)系實(shí)際、能學(xué)到并做到為宗旨,以技術(shù)為核心,以案例為輔助,引領(lǐng)讀者全面學(xué)習(xí)基礎(chǔ)技術(shù)、代碼編寫方法和具體應(yīng)用項(xiàng)目。旨在為想要進(jìn)入相應(yīng)領(lǐng)域或者已經(jīng)在該領(lǐng)域深耕多年的技術(shù)人員提供新而全的技術(shù)性內(nèi)容及案例。
本書以Python語言為載體講解Web開發(fā),分為4篇,分別是:Web基礎(chǔ)篇、Flask框架實(shí)戰(zhàn)篇、Django框架實(shí)戰(zhàn)篇和項(xiàng)目強(qiáng)化篇,共30章,內(nèi)容由淺入深,循序漸進(jìn),使讀者在打好基礎(chǔ)的同時(shí)逐步提升。本書內(nèi)容包含了Web開發(fā)必備的基礎(chǔ)知識(shí)和數(shù)據(jù)庫相關(guān)知識(shí),以較大篇幅講解了目前應(yīng)用較廣的兩個(gè)框架(Flask和Django)和相應(yīng)的14個(gè)關(guān)鍵案例,同時(shí)配備了兩個(gè)大型項(xiàng)目,使讀者能夠同步做出產(chǎn)品,達(dá)到學(xué)到并且做到的目的。
本書適合Python Web開發(fā)從業(yè)者、Python開發(fā)程序員、Python開發(fā)以及人工智能的愛好者閱讀,也可供高校計(jì)算機(jī)相關(guān)專業(yè)師生參考。
明日科技是一家以軟件開發(fā)和教育為主的高科技公司,為國家高新技術(shù)企業(yè)和雙軟認(rèn)證企業(yè)。開發(fā)的系統(tǒng)有鐵路多媒體查詢系統(tǒng)、長春電子地圖、天氣預(yù)報(bào)系統(tǒng)、礦山瓦斯報(bào)警系統(tǒng)等軟件產(chǎn)品。開發(fā)的圖書有《程序開發(fā)范例寶典》、《軟件開發(fā)視頻大講堂》、《軟件開發(fā)1200例》、《零基礎(chǔ)學(xué)系列》、《項(xiàng)目開發(fā)實(shí)戰(zhàn)入門》等多個(gè)系列圖書,多個(gè)品種榮獲“全行業(yè)**暢銷書”獎(jiǎng)項(xiàng),《軟件開發(fā)視頻大講堂》、《零基礎(chǔ)學(xué)系列》系列是目前市場(chǎng)上暢銷的專業(yè)基礎(chǔ)編程類叢書。
第1篇 Web基礎(chǔ)篇
第1章 Web基礎(chǔ)
1.1 Web概述 3
1.1.1 Web的發(fā)展歷程 3
1.1.2 Web程序工作原理 4
1.2 Web框架簡介 5
1.2.1 ORM簡介 5
1.2.2 模板引擎 5
1.3 常用的Python Web框架 6
1.3.1 Flask 6
1.3.2 Django 6
1.3.3 Tornado 6
1.4 搭建Web開發(fā)環(huán)境 6
1.4.1 創(chuàng)建虛擬環(huán)境 6
1.4.2 pip包管理工具 7
1.4.3 切換鏡像源 9
第2章 前端基礎(chǔ)
2.1 HTML基礎(chǔ) 12
2.1.1 HTML簡介 12
【實(shí)例2.1】第一個(gè)HTML頁面 12
2.1.2 標(biāo)簽和元素 13
2.1.3 表單 15
2.2 CSS基礎(chǔ) 18
2.2.1 基礎(chǔ)知識(shí) 18
2.2.2 嵌入CSS樣式 19
【實(shí)例2.2】添加CSS樣式 19
【實(shí)例2.3】使用外部樣式表 21
2.3 JavaScript基礎(chǔ) 21
2.3.1 基本語法 21
2.3.2 使用JavaScript 23
【實(shí)例2.4】彈出對(duì)話框 23
【實(shí)例2.5】使用外部JavaScript文件方式修改實(shí)例2.4 24
2.4 jQuery基礎(chǔ) 24
2.4.1 使用jQuery 25
2.4.2 基本語法 25
2.4.3 選擇器 26
【實(shí)例2.6】隱藏
標(biāo)簽 26
2.4.4 觸發(fā)事件 28
2.4.5 內(nèi)容和屬性 29
【實(shí)例2.7】檢測(cè)用戶填寫的用戶名和密碼是否符合要求 29
2.5 Bootstrap框架 31
2.5.1 安裝Bootstrap 31
2.5.2 基本使用 32
【實(shí)例2.8】創(chuàng)建一個(gè)全屏幕宣傳頁面 32
2.6 綜合案例——導(dǎo)航欄菜單 33
2.7 實(shí)戰(zhàn)練習(xí) 34
第3章 MySQL的使用
3.1 MySQL的安裝及配置 36
3.1.1 MySQL簡介 36
3.1.2 安裝MySQL 36
3.1.3 配置MySQL 37
3.2 庫的相關(guān)操作 38
3.2.1 創(chuàng)建數(shù)據(jù)庫 38
3.2.2 查看數(shù)據(jù)庫 39
3.2.3 刪除數(shù)據(jù)庫 39
3.3 表的相關(guān)操作 40
3.3.1 創(chuàng)建數(shù)據(jù)表 40
3.3.2 查看數(shù)據(jù)表 41
3.3.3 修改表結(jié)構(gòu) 42
3.3.4 刪除數(shù)據(jù)表 42
3.4 數(shù)據(jù)類型 43
3.4.1 數(shù)字類型 43
3.4.2 字符串類型 44
3.4.3 日期和時(shí)間類型 45
3.5 數(shù)據(jù)的增查改刪 45
3.5.1 增加數(shù)據(jù) 45
3.5.2 查詢數(shù)據(jù) 46
3.5.3 修改數(shù)據(jù) 49
3.5.4 刪除數(shù)據(jù) 49
3.6 PyMySQL操作數(shù)據(jù)庫 50
3.6.1 安裝PyMySQL 50
3.6.2 連接數(shù)據(jù)庫 50
3.6.3 游標(biāo)對(duì)象 51
【實(shí)例3.1】向mrsoft數(shù)據(jù)庫中添加books圖書表 52
3.6.4 操作數(shù)據(jù)庫 53
【實(shí)例3.2】向books圖書表中添加圖書數(shù)據(jù) 53
3.7 ORM模型 54
3.7.1 ORM簡介 54
3.7.2 常用的ORM庫 55
3.8 綜合案例——從數(shù)據(jù)庫查詢并篩選數(shù)據(jù) 55
3.8.1 設(shè)計(jì)SQL 55
3.8.2 實(shí)現(xiàn)過程 55
3.9 實(shí)戰(zhàn)練習(xí) 56
第2篇 Flask框架實(shí)戰(zhàn)篇
第4章 Flask快速應(yīng)用
4.1 Flask基礎(chǔ) 59
4.1.1 Flask簡介 59
4.1.2 安裝Flask 59
4.2 使用Flask輸出Hello World!/?60
4.2.1 第一個(gè)Flask程序 60
【實(shí)例4.1】輸出Hello World! 60
4.2.2 開啟debug 60
4.3 路由 61
4.3.1 變量規(guī)則 61
【實(shí)例4.2】根據(jù)不同的用戶名參數(shù),輸出相應(yīng)的用戶信息 61
4.3.2 構(gòu)造URL 62
4.3.3 HTTP 方法 62
4.3.4 靜態(tài)文件 63
4.4 綜合案例——模擬登錄 63
4.5 實(shí)戰(zhàn)練習(xí) 64
第5章 Flask的請(qǐng)求與響應(yīng)
5.1 請(qǐng)求參數(shù) 66
5.1.1 GET請(qǐng)求 66
【實(shí)例5.1】獲取GET請(qǐng)求參數(shù) 66
5.1.2 POST請(qǐng)求 67
【實(shí)例5.2】獲取表單提交信息 67
5.2 文件上傳 68
【實(shí)例5.3】實(shí)現(xiàn)上傳用戶圖片功能 68
5.3 鉤子函數(shù)的應(yīng)用 70
【實(shí)例5.4】使用請(qǐng)求鉤子,在執(zhí)行視圖函數(shù)前后執(zhí)行相應(yīng)的函數(shù) 71
5.4 接收響應(yīng) 72
5.5 響應(yīng)的格式 72
5.5.1 MIME類型 72
5.5.2 JSON數(shù)據(jù) 73
5.6 Flask會(huì)話 73
5.6.1 Cookie對(duì)象 74
【實(shí)例5.5】使用Cookie判斷用戶是否登錄 74
5.6.2 Session對(duì)象 76
5.7 綜合案例——用戶登錄 77
5.8 實(shí)戰(zhàn)練習(xí) 77
第6章 Jinja2模板引擎
6.1 Flask使用Jinja2模板引擎 80
6.1.1 Jinja2簡介 80
6.1.2 渲染模板 80
【實(shí)例6.1】渲染首頁模板 80
6.2 模板中傳遞參數(shù) 82
6.3 模板的控制語句 83
6.3.1 if語句 83
6.3.2 for語句 83
6.3.3 模板上下文 83
【實(shí)例6.2】使用Session判斷用戶是否登錄 84
6.4 Jinja2的過濾器 85
6.4.1 常用的過濾器 85
6.4.2 自定義過濾器 85
【實(shí)例6.3】Flask應(yīng)用對(duì)象的add_template_filter方法定義過濾器 85
【實(shí)例6.4】使用app.template_filter()裝飾器定義過濾器 86
6.5 宏的應(yīng)用 87
6.5.1 宏的定義 87
6.5.2 宏的導(dǎo)入 87
6.5.3 include的使用 87
6.6 模板的繼承 87
【實(shí)例6.5】使用子模板繼承父模板 88
6.7 提示信息 90
【實(shí)例6.6】使用flash閃現(xiàn)用戶登錄成功或失敗的消息 90
6.8 綜合案例——自定義錯(cuò)誤頁面 91
6.8.1 需求分析 92
6.8.2 實(shí)現(xiàn)過程 92
6.9 實(shí)戰(zhàn)練習(xí) 93
第7章 Flask視圖與藍(lán)圖
7.1 綁定視圖函數(shù) 95
7.1.1 使用app.route 95
7.1.2 使用add_url_rule 95
7.2 類視圖 96
7.2.1 標(biāo)準(zhǔn)類視圖 96
7.2.2 基于調(diào)度方法的類視圖 98
7.3 裝飾器 99
7.3.1 裝飾器的定義 99
7.3.2 基本應(yīng)用 99
7.3.3 帶參函數(shù)使用裝飾器 101
7.4 藍(lán)圖 102
7.4.1 簡介 103
7.4.2 使用藍(lán)圖 103
【實(shí)例7.1】使用藍(lán)圖創(chuàng)建前臺(tái)和后臺(tái)應(yīng)用 103
7.5 表單 104
7.5.1 CSRF 104
7.5.2 表單類 105
7.6 綜合案例——驗(yàn)證用戶登錄 106
7.7 實(shí)戰(zhàn)練習(xí) 108
第8章 Flask操作數(shù)據(jù)庫
8.1 常用擴(kuò)展 110
8.1.1 Flask-SQLAlchemy擴(kuò)展 110
8.1.2 Flask-Migrate擴(kuò)展 112
8.1.3 Flask-Script擴(kuò)展 114
8.2 管理數(shù)據(jù)庫 117
8.2.1 連接數(shù)據(jù)庫 117
8.2.2 定義數(shù)據(jù)模型 118
8.2.3 定義關(guān)系 119
8.3 增查改刪 121
8.3.1 創(chuàng)建數(shù)據(jù) 121
8.3.2 讀取數(shù)據(jù) 121
8.3.3 更新數(shù)據(jù) 123
8.3.4 刪除數(shù)據(jù) 123
8.4 綜合案例——?jiǎng)?chuàng)建數(shù)據(jù)表 123
8.4.1 案例說明 123
8.4.2 實(shí)現(xiàn)案例 123
8.5 實(shí)戰(zhàn)練習(xí) 125
第9章 【案例】Flask_SQLAlchemy篩選網(wǎng)易云免費(fèi)課程
9.1 案例效果預(yù)覽 126
9.2 案例準(zhǔn)備 127
9.3 業(yè)務(wù)流程 127
9.4 實(shí)現(xiàn)過程 127
9.4.1 創(chuàng)建數(shù)據(jù)表 128
9.4.2 設(shè)置過濾器 129
9.5 關(guān)鍵技術(shù) 132
第10章 【案例】Splitlines解析數(shù)據(jù)庫文本中的換行內(nèi)容
10.1 案例效果預(yù)覽 134
10.2 案例準(zhǔn)備 134
10.3 業(yè)務(wù)流程 135
10.4 實(shí)現(xiàn)過程 135
10.4.1 項(xiàng)目結(jié)構(gòu) 135
10.4.2 安裝模塊 135
10.4.3 連接數(shù)據(jù)庫 135
10.4.4 業(yè)務(wù)邏輯 136
10.4.5 創(chuàng)建父模板 136
10.4.6 創(chuàng)建詳情文件 137
10.5 關(guān)鍵技術(shù) 138
第11章 【案例】Flask_Login用戶登錄校驗(yàn)
11.1 案例效果預(yù)覽 139
11.2 案例準(zhǔn)備 140
11.3 業(yè)務(wù)流程 140
11.4 實(shí)現(xiàn)過程 140
11.4.1 登錄與權(quán)限校驗(yàn) 140
11.4.2 更改密碼 145
11.4.3 登錄成功后的處理 148
11.5 關(guān)鍵技術(shù) 150
第12章 【案例】ECharts顯示折線圖
12.1 案例效果預(yù)覽 153
12.2 案例準(zhǔn)備 153
12.3 業(yè)務(wù)流程 154
12.4 實(shí)現(xiàn)過程 154
12.4.1 安裝依賴 154
12.4.2 連接數(shù)據(jù)庫 154
12.4.3 業(yè)務(wù)邏輯 155
12.4.4 渲染頁面 155
12.5 關(guān)鍵技術(shù) 160
第13章 【案例】員工信息審核
13.1 案例效果預(yù)覽 161
13.2 案例準(zhǔn)備 162
13.3 業(yè)務(wù)流程 162
13.4 實(shí)現(xiàn)過程 162
13.5 關(guān)鍵技術(shù) 166
第14章 【案例】網(wǎng)頁底部Tab欄設(shè)計(jì)
14.1 案例效果預(yù)覽 167
14.2 案例準(zhǔn)備 167
14.3 業(yè)務(wù)流程 168
14.4 實(shí)現(xiàn)過程 168
14.4.1 設(shè)置路由 168
14.4.2 創(chuàng)建父模板 168
14.4.3 繼承父模板 169
14.5 關(guān)鍵技術(shù) 170
第15章 【案例】多條件查詢的使用
15.1 案例效果預(yù)覽 171
15.2 案例準(zhǔn)備 172
15.3 業(yè)務(wù)流程 172
15.4 實(shí)現(xiàn)過程 172
15.4.1 概述 172
15.4.2 篩選酒店信息 173
15.4.3 學(xué)生選課系統(tǒng) 175
15.5 關(guān)鍵技術(shù) 176
第3篇 Django框架實(shí)戰(zhàn)篇
第16章 Django快速應(yīng)用
16.1 使用Django框架 179
16.1.1 新版本特性 179
16.1.2 安裝Django 179
16.2 第一個(gè)Django項(xiàng)目 179
【實(shí)例16.1】使用命令行創(chuàng)建項(xiàng)目 179
16.3 創(chuàng)建Django應(yīng)用 180
16.4 URL組成部分 182
16.5 路由 182
16.5.1 路由形式 182
【實(shí)例16.2】定義路由并創(chuàng)建路由函數(shù) 183
16.5.2 include的使用 184
16.6 管理后臺(tái) 185
16.7 綜合案例——Hello Django 187
16.8 實(shí)戰(zhàn)練習(xí) 189
第17章 Django模板引擎
17.1 DTL介紹 191
17.1.1 DTL簡介 191
17.1.2 渲染模板 191
【實(shí)例17.1】創(chuàng)建并渲染模板 191
17.1.3 模板路徑 193
17.2 模板變量 193
17.3 常用標(biāo)簽 194
17.4 過濾器 197
17.4.1 常用過濾器 197
17.4.2 自定義過濾器 199
17.5 簡化模板 200
17.5.1 引入模板 200
17.5.2 繼承模板 201
17.6 加載靜態(tài)文件 202
17.7 綜合案例——時(shí)間過濾器 202
17.8 實(shí)戰(zhàn)練習(xí) 204
第18章 Django視圖與表單
18.1 視圖簡介 206
18.1.1 視圖函數(shù) 206
【實(shí)例18.1】創(chuàng)建獲取當(dāng)前日期的視圖函數(shù) 206
18.1.2 視圖類 206
18.2 請(qǐng)求裝飾器 210
18.3 請(qǐng)求與響應(yīng) 210
18.3.1 請(qǐng)求對(duì)象 211
18.3.2 響應(yīng)對(duì)象 211
18.4 重定向 212
18.5 自定義錯(cuò)誤頁面 213
18.6 使用表單 214
18.6.1 表單的基本使用 214
18.6.2 驗(yàn)證數(shù)據(jù) 215
18.7 ModelForm 217
18.7.1 使用方法 217
18.7.2 字段類型 219
18.7.3 表單驗(yàn)證 220
18.7.4 save()方法 221
18.7.5 字段選擇 222
18.8 文件上傳 222
18.9 綜合案例——用戶注冊(cè) 224
18.10 實(shí)戰(zhàn)練習(xí) 226
第19章 Django模型與數(shù)據(jù)庫
19.1 數(shù)據(jù)庫操作 228
19.2 ORM模型 228
19.2.1 添加數(shù)據(jù)模型 229
19.2.2 數(shù)據(jù)遷移 230
19.2.3 數(shù)據(jù)API 231
19.3 多關(guān)聯(lián)模型 233
19.3.1 一對(duì)一 233
19.3.2 多對(duì)一 235
19.3.3 多對(duì)多 238
19.4 定制管理后臺(tái) 241
19.4.1 ModelAdmin.fields 241
19.4.2 ModelAdmin.fieldset 242
19.4.3 ModelAdmin.list_display 244
19.4.4 ModelAdmin.list_display_links 246
19.4.5 ModelAdmin.list_editable 246
19.4.6 ModelAdmin.list_filter 247
19.5 綜合案例——使用模型操作數(shù)據(jù)庫 250
19.6 實(shí)戰(zhàn)練習(xí) 252
第20章 Django緩存
20.1 Session會(huì)話 254
20.1.1 啟用會(huì)話 254
20.1.2 配置會(huì)話引擎 254
20.1.3 常用方法 255
20.1.4 自動(dòng)登錄 256
【實(shí)例20.1】使用會(huì)話實(shí)現(xiàn)登錄功能 256
20.1.5 退出登錄 259
20.2 Memcached緩存系統(tǒng) 259
20.3 Redis數(shù)據(jù)庫 261
20.4 用戶權(quán)限 263
20.4.1 用戶對(duì)象 264
20.4.2 權(quán)限和分組 266
20.5 綜合案例——登錄驗(yàn)證 268
20.6 實(shí)戰(zhàn)練習(xí) 268
第21章 【案例】Celery異步發(fā)送驗(yàn)證郵件
21.1 案例效果預(yù)覽 269
21.2 案例準(zhǔn)備 269
21.3 業(yè)務(wù)流程 270
21.4 實(shí)現(xiàn)過程 270
21.4.1 數(shù)據(jù)遷移 270
21.4.2 郵箱配置 271
21.4.3 設(shè)置路由 272
21.4.4 前端頁面 272
21.4.5 業(yè)務(wù)邏輯 273
21.4.6 異步任務(wù) 274
21.4.7 啟動(dòng)項(xiàng)目 275
21.5 關(guān)鍵技術(shù) 275
第22章 【案例】自定義Admin命令
22.1 案例效果預(yù)覽 276
22.2 案例準(zhǔn)備 276
22.3 業(yè)務(wù)流程 277
22.4 實(shí)現(xiàn)過程 277
22.4.1 定義命令 277
22.4.2 項(xiàng)目日志 278
22.5 關(guān)鍵技術(shù) 281
第23章 【案例】Channels實(shí)現(xiàn)Web Socket聊天室
23.1 案例效果預(yù)覽 282
23.2 案例準(zhǔn)備 283
23.3 業(yè)務(wù)流程 283
23.4 實(shí)現(xiàn)過程 283
23.4.1 安裝Channels 283
23.4.2 創(chuàng)建APP 284
23.4.3 配置模板 284
23.4.4 添加路由 285
23.4.5 配置Channels路由 285
23.4.6 完成WebSocket 287
23.4.7 升級(jí)為異步執(zhí)行 287
23.5 關(guān)鍵技術(shù) 290
第24章 【案例】Paginator實(shí)現(xiàn)數(shù)據(jù)分頁
24.1 案例效果預(yù)覽 291
24.2 案例準(zhǔn)備 291
24.3 業(yè)務(wù)流程 292
24.4 實(shí)現(xiàn)過程 292
24.4.1 添加路由 292
24.4.2 分頁邏輯 292
24.4.3 渲染模板 293
24.4.4 運(yùn)行程序 294
24.5 關(guān)鍵技術(shù) 294
第25章 【案例】Ajax多級(jí)下拉框聯(lián)動(dòng)
25.1 案例效果預(yù)覽 296
25.2 案例準(zhǔn)備 296
25.3 業(yè)務(wù)流程 296
25.4 實(shí)現(xiàn)過程 297
25.4.1 匹配路由 297
25.4.2 添加模板 297
25.4.3 業(yè)務(wù)邏輯 298
25.4.4 關(guān)閉CSRF防護(hù) 298
25.5 關(guān)鍵技術(shù) 299
第26章 【案例】Haystack站內(nèi)全局搜索引擎
26.1 案例效果預(yù)覽 301
26.2 案例準(zhǔn)備 301
26.3 業(yè)務(wù)流程 302
26.4 實(shí)現(xiàn)過程 302
26.4.1 準(zhǔn)備環(huán)境 302
26.4.2 注冊(cè)模塊 302
26.4.3 配置搜索引擎 303
26.4.4 業(yè)務(wù)邏輯 304
26.4.5 渲染模板 304
26.5 關(guān)鍵技術(shù) 306
第27章 【案例】Message消息提示
27.1 案例效果預(yù)覽 307
27.2 案例準(zhǔn)備 307
27.3 業(yè)務(wù)流程 307
27.4 實(shí)現(xiàn)過程 308
27.4.1 配置文件 308
27.4.2 消息引擎 309
27.4.3 添加路由 309
27.4.4 業(yè)務(wù)邏輯 309
27.4.5 渲染模板 310
27.5 關(guān)鍵技術(shù) 311
第4篇 項(xiàng)目強(qiáng)化篇
第28章 基于Flask框架的51商城
28.1 系統(tǒng)需求分析 314
28.2 系統(tǒng)功能設(shè)計(jì) 314
28.2.1 系統(tǒng)功能結(jié)構(gòu) 314
28.2.2 系統(tǒng)業(yè)務(wù)流程 314
28.2.3 系統(tǒng)預(yù)覽 315
28.3 系統(tǒng)開發(fā)必備 319
28.3.1 系統(tǒng)開發(fā)環(huán)境 319
28.3.2 文件夾組織結(jié)構(gòu) 319
28.4 數(shù)據(jù)庫設(shè)計(jì) 320
28.4.1 數(shù)據(jù)庫概要說明 320
28.4.2 數(shù)據(jù)表模型 320
28.4.3 數(shù)據(jù)表關(guān)系 322
28.5 會(huì)員注冊(cè)模塊設(shè)計(jì) 323
28.5.1 會(huì)員注冊(cè)模塊概述 323
28.5.2 會(huì)員注冊(cè)頁面 323
28.5.3 驗(yàn)證并保存注冊(cè)信息 327
28.6 會(huì)員登錄模塊設(shè)計(jì) 328
28.6.1 會(huì)員登錄模塊概述 328
28.6.2 創(chuàng)建會(huì)員登錄頁面 328
28.6.3 保存會(huì)員登錄狀態(tài) 331
28.6.4 會(huì)員退出功能 331
28.7 首頁模塊設(shè)計(jì) 332
28.7.1 首頁模塊概述 332
28.7.2 顯示最新上架商品 333
28.7.3 顯示打折商品 334
28.7.4 顯示熱門商品 335
28.8 購物車模塊 336
28.8.1 購物車模塊概述 336
28.8.2 顯示商品詳細(xì)信息 336
28.8.3 添加購物車 338
28.8.4 查看購物車 339
28.8.5 保存訂單 340
28.8.6 查看訂單 341
28.9 后臺(tái)功能模塊設(shè)計(jì) 341
28.9.1 后臺(tái)登錄模塊設(shè)計(jì) 341
28.9.2 商品管理模塊設(shè)計(jì) 342
28.9.3 銷量排行榜模塊設(shè)計(jì) 343
28.9.4 會(huì)員管理模塊設(shè)計(jì) 343
28.9.5 訂單管理模塊設(shè)計(jì) 344
第29章 基于Django框架的綜藝之家管理系統(tǒng)
29.1 系統(tǒng)需求分析 346
29.1.1 系統(tǒng)概述 346
29.1.2 系統(tǒng)可行性分析 346
29.1.3 系統(tǒng)用戶角色分配 346
29.1.4 功能性需求分析 347
29.1.5 非功能性需求分析 347
29.2 系統(tǒng)功能設(shè)計(jì) 347
29.2.1 系統(tǒng)功能結(jié)構(gòu) 347
29.2.2 系統(tǒng)業(yè)務(wù)流程 347
29.2.3 系統(tǒng)預(yù)覽 348
29.3 系統(tǒng)開發(fā)必備 349
29.3.1 系統(tǒng)開發(fā)環(huán)境 349
29.3.2 文件夾組織結(jié)構(gòu) 350
29.4 數(shù)據(jù)庫設(shè)計(jì) 350
29.4.1 數(shù)據(jù)庫概要說明 350
29.4.2 數(shù)據(jù)表模型 350
29.4.3 數(shù)據(jù)表關(guān)系 352
29.5 綜藝管理模塊設(shè)計(jì) 352
29.5.1 實(shí)現(xiàn)后臺(tái)錄入綜藝信息和綜藝視頻的功能 353
29.5.2 前臺(tái)首頁功能 354
29.5.3 綜藝詳情頁功能 356
29.6 搜索功能模塊設(shè)計(jì) 359
29.7 分類功能模塊設(shè)計(jì) 361
29.8 社交管理模塊設(shè)計(jì) 364
29.8.1 安裝django-spirit模塊 364
29.8.2 發(fā)帖和回帖功能 365
29.8.3 論壇管理后臺(tái)功能 366
29.9 可視化展示模塊設(shè)計(jì) 367
29.9.1 ECharts開源可視化圖表庫基本使用 367
29.9.2 AJAX異步加載圖表數(shù)據(jù) 369
第30章 Web項(xiàng)目部署
30.1 常見的部署方式 374
30.1.1 WSGI 374
30.1.2 Gunicorn 374
30.1.3 Nginx 374
30.1.4 supervisor 375
30.2 云服務(wù)器配置 375
30.2.1 常用的云服務(wù)器 375
30.2.2 pip包管理工具 377
30.2.3 虛擬環(huán)境 378
30.3 使用Gunicorn 379
30.3.1 使用參數(shù)啟動(dòng)Gunicorn 379
30.3.2 加載配置文件啟動(dòng)Gunicorn 381
30.4 使用Nginx 381
30.4.1 安裝Nginx 381
30.4.2 Nginx的啟停 382
30.4.3 配置文件 382
30.4.4 靜態(tài)文件 383
30.4.5 代理服務(wù)器 383
30.5 使用supervisor 384
30.5.1 配置文件 385
30.5.2 常用命令 386
30.5.3 啟動(dòng)程序 386
附錄
附錄1 Flask框架常用類和函數(shù) 388
附錄2 Flask框架請(qǐng)求對(duì)象提供的常用屬性或方法 388
附錄3 Flask框架響應(yīng)對(duì)象提供的屬性或方法 389
附錄4 Flask框架常用擴(kuò)展 389
附錄5 Django框架常用命令 389
附錄6 Django框架setting.py常用配置 390
附錄7 Django框架ORM常用API 390