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