Python Web項(xiàng)目開發(fā)實(shí)戰(zhàn)教程(Flask版)(微課版)
定 價(jià):59.8 元
當(dāng)前圖書已被 21 所學(xué)校薦購過!
查看明細(xì)
- 作者:蝸牛學(xué)院 鄧強(qiáng) 卿淳俊
- 出版時(shí)間:2021/7/1
- ISBN:9787115559340
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:240
- 紙張:
- 版次:01
- 開本:16開
本書全面而深入地講解了Python Web開發(fā)的主流框架Flask。全書共9章,第1章主要講解“蝸牛筆記”博客系統(tǒng)的功能,同時(shí)對(duì)使用的開發(fā)環(huán)境和基礎(chǔ)知識(shí)進(jìn)行了梳理;第2章講解如何基于“蝸牛筆記”博客系統(tǒng)的功能需求設(shè)計(jì)前端頁面,并利用HTML5+Bootstrap框架設(shè)計(jì)能夠同時(shí)適配移動(dòng)端和PC端的響應(yīng)式頁面;第3章講解如何基于業(yè)務(wù)需求進(jìn)行數(shù)據(jù)庫和表結(jié)構(gòu)的設(shè)計(jì),進(jìn)而使讀者更好地分析和達(dá)成項(xiàng)目需求;第4章講解Flask開發(fā)框架的核心知識(shí),為實(shí)現(xiàn)項(xiàng)目的功能開發(fā)做好技術(shù)儲(chǔ)備;第5~8章基于MVC模型,結(jié)合數(shù)據(jù)庫操作和前端頁面開發(fā),講解實(shí)現(xiàn)“蝸牛筆記”博客系統(tǒng)的核心功能;第9章為進(jìn)階內(nèi)容,講解緩存服務(wù)器、首頁靜態(tài)化處理、全文搜索和接口與性能測(cè)試等技術(shù)。
本書通過不同案例對(duì)核心知識(shí)點(diǎn)進(jìn)行深入剖析,更加快速地幫助讀者提升Web系統(tǒng)開發(fā)的能力。
本書可作為高校計(jì)算機(jī)及相關(guān)專業(yè)的教材,也可作為Web開發(fā)工程師和相關(guān)從業(yè)者的自學(xué)參考書。
1.項(xiàng)目驅(qū)動(dòng)的寫作模式
本書采用項(xiàng)目驅(qū)動(dòng)的寫作模式,本書并不是以知識(shí)點(diǎn)的講解為主線,而是按照項(xiàng)目研發(fā)過程中,如何實(shí)現(xiàn)系統(tǒng)功能為主線來組織本書的內(nèi)容。項(xiàng)目驅(qū)動(dòng)的授課模式在蝸牛學(xué)院的人才培養(yǎng)過程中已經(jīng)取得了成功,這是被實(shí)踐證明的行之有效的傳授知識(shí)的方式。
2.內(nèi)容安排合理
本書除了利用Flask完成蝸牛筆記這套博客系統(tǒng)的功能外,也涉及諸多流行的Web開發(fā)技術(shù),如jQuery框架、BootStrap框架、VUE框架、Redis緩存服務(wù)器、ORM數(shù)據(jù)模型、全文搜索、驗(yàn)證碼處理、靜態(tài)化處理、前后端分離等技術(shù),幫助讀者從多維度提升自己的技術(shù)水平,成為一個(gè)優(yōu)秀的Python Web開發(fā)工程師。
3.注重理論與實(shí)踐的結(jié)合
本書在實(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í)際問題的能力。
蝸牛學(xué)院創(chuàng)始人,資深導(dǎo)師,四川大學(xué)碩士,13年軟件研發(fā)及管理經(jīng)驗(yàn),測(cè)試架構(gòu)師,精通各種開發(fā)和測(cè)試技術(shù),豐富的項(xiàng)目實(shí)施經(jīng)驗(yàn)和研發(fā)管理經(jīng)驗(yàn)。曾為重慶翰華,深圳移動(dòng),大唐軟件,華夏基金,聯(lián)想集團(tuán),第九城市,北京亞帝文,雅安無線電管理局,浙江公安廳等20余家企業(yè)提供研發(fā)咨詢,項(xiàng)目實(shí)施及培訓(xùn)服務(wù)。從事培訓(xùn)事業(yè)以來門生數(shù)萬,遍布國內(nèi)外各大IT公司。教學(xué)嚴(yán)謹(jǐn),原理講解透徹。
第 1章 項(xiàng)目準(zhǔn)備 1
1.1 項(xiàng)目需求簡述 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)鍵頁面截圖 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接口測(cè)試工具 14
1.3 必備基礎(chǔ)知識(shí) 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è)計(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)首頁設(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 文章閱讀頁面設(shè)計(jì) 42
2.3.1 功能列表 42
2.3.2 設(shè)計(jì)思路 42
2.3.3 代碼實(shí)現(xiàn) 43
2.4 其他頁面設(shè)計(jì) 47
2.4.1 登錄注冊(cè)頁面 47
2.4.2 文章發(fā)布頁面 49
2.4.3 系統(tǒng)管理頁面 51
第3章 數(shù)據(jù)庫設(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ò)誤頁面 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 代碼實(shí)現(xiàn) 98
5.1.3 代碼優(yōu)化 101
5.2 分頁瀏覽功能 104
5.2.1 開發(fā)思路 104
5.2.2 代碼實(shí)現(xiàn) 104
5.3 文章分類瀏覽功能 105
5.3.1 開發(fā)思路 105
5.3.2 代碼實(shí)現(xiàn) 106
5.4 文章搜索功能 107
5.4.1 開發(fā)思路 107
5.4.2 后端實(shí)現(xiàn) 108
5.4.3 前端實(shí)現(xiàn) 109
5.4.4 搜索分頁 111
5.5 文章推薦功能 112
5.5.1 開發(fā)思路 112
5.5.2 代碼實(shí)現(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 登錄注冊(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章 文章閱讀功能開發(fā) 135
6.1 文章展示功能 136
6.1.1 開發(fā)思路 136
6.1.2 代碼實(shí)現(xiàn) 136
6.2 積分閱讀功能 137
6.2.1 開發(fā)思路 137
6.2.2 代碼實(shí)現(xiàn) 138
6.2.3 重復(fù)消耗積分 139
6.3 文章收藏功能 141
6.3.1 開發(fā)思路 141
6.3.2 代碼實(shí)現(xiàn) 141
6.4 關(guān)聯(lián)推薦功能 144
6.4.1 開發(fā)思路 144
6.4.2 代碼實(shí)現(xiàn) 144
6.5 用戶評(píng)論功能 146
6.5.1 開發(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)論分頁 158
6.5.7 Vue重構(gòu)分頁 163
6.6 其他評(píng)論功能 166
6.6.1 用戶點(diǎn)贊 166
6.6.2 隱藏評(píng)論 168
第7章 文章發(fā)布功能開發(fā) 170
7.1 權(quán)限管理功能 171
7.1.1 開發(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 開發(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)開發(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 短信校驗(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í)功能開發(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 首頁靜態(tài)化處理 226
9.2.1 靜態(tài)化的價(jià)值 226
9.2.2 首頁靜態(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è)試庫 237
9.4.2 基于接口的性能測(cè)試 238