Python Web項(xiàng)目開(kāi)發(fā)實(shí)戰(zhàn)教程(Flask版)(微課版)
定 價(jià):59.8 元
- 作者:蝸牛學(xué)院 鄧強(qiáng) 卿淳俊
- 出版時(shí)間:2021/7/1
- ISBN:9787115559340
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:240
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)全面而深入地講解了Python Web開(kāi)發(fā)的主流框架Flask。全書(shū)共9章,第1章主要講解“蝸牛筆記”博客系統(tǒng)的功能,同時(shí)對(duì)使用的開(kāi)發(fā)環(huán)境和基礎(chǔ)知識(shí)進(jìn)行了梳理;第2章講解如何基于“蝸牛筆記”博客系統(tǒng)的功能需求設(shè)計(jì)前端頁(yè)面,并利用HTML5+Bootstrap框架設(shè)計(jì)能夠同時(shí)適配移動(dòng)端和PC端的響應(yīng)式頁(yè)面;第3章講解如何基于業(yè)務(wù)需求進(jìn)行數(shù)據(jù)庫(kù)和表結(jié)構(gòu)的設(shè)計(jì),進(jìn)而使讀者更好地分析和達(dá)成項(xiàng)目需求;第4章講解Flask開(kāi)發(fā)框架的核心知識(shí),為實(shí)現(xiàn)項(xiàng)目的功能開(kāi)發(fā)做好技術(shù)儲(chǔ)備;第5~8章基于MVC模型,結(jié)合數(shù)據(jù)庫(kù)操作和前端頁(yè)面開(kāi)發(fā),講解實(shí)現(xiàn)“蝸牛筆記”博客系統(tǒng)的核心功能;第9章為進(jìn)階內(nèi)容,講解緩存服務(wù)器、首頁(yè)靜態(tài)化處理、全文搜索和接口與性能測(cè)試等技術(shù)。
本書(shū)通過(guò)不同案例對(duì)核心知識(shí)點(diǎn)進(jìn)行深入剖析,更加快速地幫助讀者提升Web系統(tǒng)開(kāi)發(fā)的能力。
本書(shū)可作為高校計(jì)算機(jī)及相關(guān)專業(yè)的教材,也可作為Web開(kāi)發(fā)工程師和相關(guān)從業(yè)者的自學(xué)參考書(shū)。
1.項(xiàng)目驅(qū)動(dòng)的寫(xiě)作模式
本書(shū)采用項(xiàng)目驅(qū)動(dòng)的寫(xiě)作模式,本書(shū)并不是以知識(shí)點(diǎn)的講解為主線,而是按照項(xiàng)目研發(fā)過(guò)程中,如何實(shí)現(xiàn)系統(tǒng)功能為主線來(lái)組織本書(shū)的內(nèi)容。項(xiàng)目驅(qū)動(dòng)的授課模式在蝸牛學(xué)院的人才培養(yǎng)過(guò)程中已經(jīng)取得了成功,這是被實(shí)踐證明的行之有效的傳授知識(shí)的方式。
2.內(nèi)容安排合理
本書(shū)除了利用Flask完成蝸牛筆記這套博客系統(tǒng)的功能外,也涉及諸多流行的Web開(kāi)發(fā)技術(shù),如jQuery框架、BootStrap框架、VUE框架、Redis緩存服務(wù)器、ORM數(shù)據(jù)模型、全文搜索、驗(yàn)證碼處理、靜態(tài)化處理、前后端分離等技術(shù),幫助讀者從多維度提升自己的技術(shù)水平,成為一個(gè)優(yōu)秀的Python Web開(kāi)發(fā)工程師。
3.注重理論與實(shí)踐的結(jié)合
本書(shū)在實(shí)現(xiàn)代碼之前,均會(huì)分析其實(shí)現(xiàn)思路,并將理論知識(shí)和技術(shù)點(diǎn)有機(jī)融合到項(xiàng)目的實(shí)際場(chǎng)景中去,讀者學(xué)習(xí)知識(shí)的同時(shí)增強(qiáng)實(shí)踐能力和解決實(shí)際問(wèn)題的能力。
蝸牛學(xué)院創(chuàng)始人,資深導(dǎo)師,四川大學(xué)碩士,13年軟件研發(fā)及管理經(jīng)驗(yàn),測(cè)試架構(gòu)師,精通各種開(kāi)發(fā)和測(cè)試技術(shù),豐富的項(xiàng)目實(shí)施經(jīng)驗(yàn)和研發(fā)管理經(jīng)驗(yàn)。曾為重慶翰華,深圳移動(dòng),大唐軟件,華夏基金,聯(lián)想集團(tuán),第九城市,北京亞帝文,雅安無(wú)線電管理局,浙江公安廳等20余家企業(yè)提供研發(fā)咨詢,項(xiàng)目實(shí)施及培訓(xùn)服務(wù)。從事培訓(xùn)事業(yè)以來(lái)門(mén)生數(shù)萬(wàn),遍布國(guó)內(nèi)外各大IT公司。教學(xué)嚴(yán)謹(jǐn),原理講解透徹。
第 1章 項(xiàng)目準(zhǔn)備 1
1.1 項(xiàng)目需求簡(jiǎn)述 2
1.1.1 項(xiàng)目背景介紹 2
1.1.2 項(xiàng)目功能列表 2
1.1.3 項(xiàng)目技術(shù)架構(gòu) 3
1.1.4 關(guān)鍵頁(yè)面截圖 3
1.2 開(kāi)發(fā)環(huán)境準(zhǔn)備 5
1.2.1 Python環(huán)境安裝 5
1.2.2 PyCharm開(kāi)發(fā)工具 7
1.2.3 MySQL數(shù)據(jù)庫(kù) 8
1.2.4 Redis緩存服務(wù)器 11
1.2.5 Web前端開(kāi)發(fā)庫(kù) 11
1.2.6 Fiddler協(xié)議監(jiān)控工具 12
1.2.7 Postman接口測(cè)試工具 14
1.3 必備基礎(chǔ)知識(shí) 16
1.3.1 HTTP簡(jiǎn)介 16
1.3.2 Flask簡(jiǎn)介 18
1.3.3 jQuery簡(jiǎn)介 19
1.3.4 Bootstrap基礎(chǔ) 19
1.3.5 UEditor簡(jiǎn)介 22
1.3.6 MVC分層模式 22
第 2章 構(gòu)建前端頁(yè)面 24
2.1 頁(yè)面設(shè)計(jì)思路 25
2.1.1 整體風(fēng)格 25
2.1.2 響應(yīng)式布局 26
2.1.3 前后端交互 27
2.1.4 構(gòu)建調(diào)試環(huán)境 27
2.2 系統(tǒng)首頁(yè)設(shè)計(jì) 30
2.2.1 功能列表 30
2.2.2 頂部設(shè)計(jì) 30
2.2.3 中部設(shè)計(jì) 35
2.2.4 底部設(shè)計(jì) 41
2.3 文章閱讀頁(yè)面設(shè)計(jì) 42
2.3.1 功能列表 42
2.3.2 設(shè)計(jì)思路 42
2.3.3 代碼實(shí)現(xiàn) 43
2.4 其他頁(yè)面設(shè)計(jì) 47
2.4.1 登錄注冊(cè)頁(yè)面 47
2.4.2 文章發(fā)布頁(yè)面 49
2.4.3 系統(tǒng)管理頁(yè)面 51
第3章 數(shù)據(jù)庫(kù)設(shè)計(jì) 54
3.1 設(shè)計(jì)用戶表 55
3.1.1 設(shè)計(jì)思路 55
3.1.2 數(shù)據(jù)字典 55
3.1.3 創(chuàng)建用戶表 56
3.2 設(shè)計(jì)文章表 57
3.2.1 設(shè)計(jì)思路 57
3.2.2 數(shù)據(jù)字典 58
3.3 其他表的設(shè)計(jì) 59
3.3.1 用戶評(píng)論表 59
3.3.2 文章收藏表 60
3.3.3 積分詳情表 60
第4章 Flask框架應(yīng)用 61
4.1 Flask核心功能 62
4.1.1 啟動(dòng)Flask 62
4.1.2 路由及參數(shù) 63
4.1.3 RESTful接口 65
4.1.4 URL重定向 66
4.1.5 Session和Cookie 67
4.1.6 Blueprint模塊化 69
4.1.7 攔截器 70
4.1.8 定制錯(cuò)誤頁(yè)面 72
4.2 Jinja2模板引擎 73
4.2.1 模板引擎的作用 73
4.2.2 基本用法 74
4.2.3 Jinja2語(yǔ)法 75
4.2.4 過(guò)濾器 77
4.2.5 應(yīng)用示例 78
4.2.6 模板繼承 79
4.2.7 模板導(dǎo)入 80
4.3 SQLAlchemy數(shù)據(jù)處理 81
4.3.1 PyMySQL 81
4.3.2 魔術(shù)方法 83
4.3.3 自定義ORM 84
4.3.4 定義模型 87
4.3.5 添加數(shù)據(jù) 89
4.3.6 修改數(shù)據(jù) 89
4.3.7 基礎(chǔ)查詢 90
4.3.8 連接查詢 91
4.3.9 復(fù)雜查詢 92
4.3.10 執(zhí)行原生SQL語(yǔ)句 92
4.3.11 JSON數(shù)據(jù) 92
第5章 博客首頁(yè)功能開(kāi)發(fā) 96
5.1 文章列表功能 97
5.1.1 開(kāi)發(fā)思路 97
5.1.2 代碼實(shí)現(xiàn) 98
5.1.3 代碼優(yōu)化 101
5.2 分頁(yè)瀏覽功能 104
5.2.1 開(kāi)發(fā)思路 104
5.2.2 代碼實(shí)現(xiàn) 104
5.3 文章分類瀏覽功能 105
5.3.1 開(kāi)發(fā)思路 105
5.3.2 代碼實(shí)現(xiàn) 106
5.4 文章搜索功能 107
5.4.1 開(kāi)發(fā)思路 107
5.4.2 后端實(shí)現(xiàn) 108
5.4.3 前端實(shí)現(xiàn) 109
5.4.4 搜索分頁(yè) 111
5.5 文章推薦功能 112
5.5.1 開(kāi)發(fā)思路 112
5.5.2 代碼實(shí)現(xiàn) 112
5.5.3 重寫(xiě)truncate過(guò)濾器 114
5.5.4 前端渲染側(cè)邊欄 115
5.5.5 使用Vue渲染側(cè)邊欄 117
5.5.6 側(cè)邊欄始終?俊119
5.6 登錄注冊(cè)功能 122
5.6.1 圖片驗(yàn)證碼 122
5.6.2 郵箱驗(yàn)證碼 124
5.6.3 用戶注冊(cè) 126
5.6.4 更新選項(xiàng) 129
5.6.5 登錄驗(yàn)證 130
5.6.6 自動(dòng)登錄 131
5.6.7 找回密碼 134
第6章 文章閱讀功能開(kāi)發(fā) 135
6.1 文章展示功能 136
6.1.1 開(kāi)發(fā)思路 136
6.1.2 代碼實(shí)現(xiàn) 136
6.2 積分閱讀功能 137
6.2.1 開(kāi)發(fā)思路 137
6.2.2 代碼實(shí)現(xiàn) 138
6.2.3 重復(fù)消耗積分 139
6.3 文章收藏功能 141
6.3.1 開(kāi)發(fā)思路 141
6.3.2 代碼實(shí)現(xiàn) 141
6.4 關(guān)聯(lián)推薦功能 144
6.4.1 開(kāi)發(fā)思路 144
6.4.2 代碼實(shí)現(xiàn) 144
6.5 用戶評(píng)論功能 146
6.5.1 開(kāi)發(fā)思路 146
6.5.2 發(fā)表評(píng)論 146
6.5.3 顯示評(píng)論 149
6.5.4 回復(fù)評(píng)論 151
6.5.5 顯示回復(fù) 153
6.5.6 評(píng)論分頁(yè) 158
6.5.7 Vue重構(gòu)分頁(yè) 163
6.6 其他評(píng)論功能 166
6.6.1 用戶點(diǎn)贊 166
6.6.2 隱藏評(píng)論 168
第7章 文章發(fā)布功能開(kāi)發(fā) 170
7.1 權(quán)限管理功能 171
7.1.1 開(kāi)發(fā)思路 171
7.1.2 代碼實(shí)現(xiàn) 172
7.2 文章編輯功能 174
7.2.1 UEditor插件 174
7.2.2 后端接口對(duì)接 176
7.3 文章發(fā)布功能 178
7.3.1 開(kāi)發(fā)思路 178
7.3.2 圖片壓縮 179
7.3.3 縮略圖處理 180
7.3.4 代碼實(shí)現(xiàn) 181
7.4 其他發(fā)布功能 184
7.4.1 草稿箱 184
7.4.2 文件上傳 187
第8章 后端管理系統(tǒng)開(kāi)發(fā) 189
8.1 系統(tǒng)管理 190
8.1.1 后端系統(tǒng) 190
8.1.2 前端入口 190
8.1.3 首頁(yè)查詢 191
8.1.4 文章處理 195
8.1.5 接口權(quán)限 197
8.2 用戶中心 197
8.2.1 我的收藏 197
8.2.2 發(fā)布文章 199
8.2.3 我要投稿 200
8.2.4 編輯文章 202
8.3 短信校驗(yàn) 204
8.3.1 阿里云賬號(hào)注冊(cè) 204
8.3.2 測(cè)試短信接口 206
8.3.3 驗(yàn)證碼使用場(chǎng)景 207
第9章 高級(jí)功能開(kāi)發(fā) 208
9.1 利用Redis緩存數(shù)據(jù) 209
9.1.1 Redis數(shù)據(jù)類型 209
9.1.2 Redis常用命令 210
9.1.3 Redis持久化 215
9.1.4 Redis可視化工具 215
9.1.5 Python操作Redis 216
9.1.6 利用Redis緩存驗(yàn)證碼 218
9.1.7 Redis處理數(shù)據(jù)表 219
9.1.8 利用Redis重構(gòu)文章列表 222
9.2 首頁(yè)靜態(tài)化處理 226
9.2.1 靜態(tài)化的價(jià)值 226
9.2.2 首頁(yè)靜態(tài)化策略 226
9.2.3 靜態(tài)化代碼實(shí)現(xiàn) 228
9.2.4 靜態(tài)化代碼優(yōu)化 230
9.3 全文搜索功能 232
9.3.1 全文搜索 232
9.3.2 中文分詞處理 233
9.3.3 倒排索引原理 234
9.3.4 全文搜索代碼實(shí)現(xiàn) 235
9.4 接口與性能測(cè)試 237
9.4.1 requests接口測(cè)試庫(kù) 237
9.4.2 基于接口的性能測(cè)試 238