Flask Web開發(fā)入門、進(jìn)階與實(shí)戰(zhàn)
定 價:119 元
- 作者:張學(xué)建
- 出版時間:2021/3/1
- ISBN:9787111673170
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:344
- 紙張:
- 版次:
- 開本:16開
Flask Web開發(fā)入門、進(jìn)階與實(shí)戰(zhàn)介紹了使用Python語言開發(fā)Flask Web程序的知識,并通過具體實(shí)例講解了使用Flask框架的方法和流程。全書共18章,內(nèi)容包括Flask Web開發(fā)基礎(chǔ)、使用Flask模板、實(shí)現(xiàn)表單操作、Flask數(shù)據(jù)庫操作、用戶登錄驗(yàn)證、收發(fā)電子郵件、使用Flask-Admin開發(fā)后臺管理系統(tǒng)、使用上下文技術(shù)、項(xiàng)目優(yōu)化、處理靜態(tài)文件、開發(fā)RESTful API、系統(tǒng)調(diào)試和部署、計數(shù)器模塊、在線留言系統(tǒng)模塊、富文本編輯器模塊、分頁模塊、信息發(fā)布模塊、基于深度學(xué)習(xí)的人臉識別系統(tǒng)。全書簡潔而不失技術(shù)深度,內(nèi)容豐富而全面,不僅易于閱讀,而且涵蓋了其他同類圖書中很少涉及的歷史參考資料,是學(xué)習(xí)Flask Web開發(fā)的實(shí)用教程。
Flask Web開發(fā)入門、進(jìn)階與實(shí)戰(zhàn)適用于已了解Python基礎(chǔ)知識、希望進(jìn)一步提高個人開發(fā)水平的讀者,還可以作為大中專院校和培訓(xùn)學(xué)校相關(guān)專業(yè)師生的學(xué)習(xí)參考用書。
目錄
前言
第1章 Flask Web開發(fā)基礎(chǔ)
1.1 Flask框架介紹
1.1.1 Flask框架的基本結(jié)構(gòu)
1.1.2 Flask和Django的對比
1.2 安裝Flask
1.2.1 快速安裝Flask
1.2.2 使用PyCharm創(chuàng)建虛擬環(huán)境
1.3 初步認(rèn)識Flask Web程序
1.3.1 編寫第一個Flask Web程序
1.3.2 使用PyCharm編寫第一個Flask Web程序
1.4 分析Flask Web程序的基本結(jié)構(gòu)
1.4.1 運(yùn)行方法run()
1.4.2 路由處理
1.4.3 處理URL參數(shù)
1.4.4 傳遞HTTP請求
1.4.5 模擬實(shí)現(xiàn)用戶登錄系統(tǒng)
1.5 Flask-Script擴(kuò)展
1.5.1 Flask-Script擴(kuò)展介紹
1.5.2 使用Flask-Script擴(kuò)展
1.5.3 創(chuàng)建命令
1.6 系統(tǒng)配置
1.6.1 基礎(chǔ)配置
1.6.2 使用配置信息
1.6.3 實(shí)例文件夾
第2章 使用Flask模板
2.1 使用Jinja2模板引擎
2.2Jinja2 模板的基本元素
2.2.1 變量
2.2.2 使用控制結(jié)構(gòu)
2.2.3 包含頁和宏
2.3 使用Flask-Bootstrap擴(kuò)展
2.3.1 Flask-Bootstrap擴(kuò)展基礎(chǔ)
2.3.2 在Flask Web中使用Flask-Bootstrap擴(kuò)展
2.3.3 自定義錯誤頁面
2.4 使用Flask-Moment擴(kuò)展本地化處理日期和時間
2.4.1 Flask-Moment基礎(chǔ)
2.4.2 使用Flask-Moment顯示時間
2.5 靜態(tài)文件
2.5.1 靜態(tài)文件介紹
2.5.2 使用靜態(tài)文件
2.6 可插拔視圖
2.6.1 使用可插拔視圖
2.6.2 可插拔視圖實(shí)戰(zhàn)演練
第3章 實(shí)現(xiàn)表單操作
3.1使用Flask-WTF擴(kuò)展
3.1.1Flask-WTF基礎(chǔ)
3.1.2使用Flask-WTF處理表單
3.2重定向和會話處理
3.2.1Flask中的重定向和會話處理
3.2.2實(shí)現(xiàn)重定向和會話處理
3.3Flash閃現(xiàn)提示
3.3.1Flash基礎(chǔ)
3.3.2使用模板渲染flash()函數(shù)的閃現(xiàn)提示信息
3.4文件上傳
3.4.1簡易文件上傳程序
3.4.2查看上傳的圖片
3.4.3使用Flask-WTF實(shí)現(xiàn)文件上傳
3.4.4使用Flask-Uploads擴(kuò)展上傳文件
3.5登錄驗(yàn)證
3.5.1驗(yàn)證兩次密碼是否相同
3.5.2注冊驗(yàn)證和登錄驗(yàn)證
第4章 Flask數(shù)據(jù)庫操作
4.1關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫
4.1.1關(guān)系型數(shù)據(jù)庫
4.1.2非關(guān)系型數(shù)據(jù)庫
4.2Python語言的數(shù)據(jù)庫框架
4.2.1程序文件
4.2.2模板文件
4.3使用Flask-SQLAlchemy管理數(shù)據(jù)庫
4.3.1Flask-SQLAlchemy基礎(chǔ)
4.3.2定義模型
4.3.3關(guān)系
4.4使用Flask-SQLAlchemy操作數(shù)據(jù)庫
4.4.1新建表
4.4.2添加行
4.4.3修改行
4.4.4刪除行
4.4.5查詢行
4.4.6在視圖函數(shù)中操作數(shù)據(jù)庫
4.4.7使用Flask-SQLAlchemy實(shí)現(xiàn)一個簡易登錄系統(tǒng)
4.4.8使用Flask-SQLAlchemy實(shí)現(xiàn)小型BBS系統(tǒng)
4.5將數(shù)據(jù)庫操作集成到Python shell
4.6使用Flask-Migrate實(shí)現(xiàn)數(shù)據(jù)庫遷移
4.6.1創(chuàng)建Virtualenv虛擬環(huán)境
4.6.2創(chuàng)建遷移倉庫
4.6.3創(chuàng)建遷移腳本
4.6.4更新數(shù)據(jù)庫
4.7使用CouchDB數(shù)據(jù)庫
4.7.1搭建開發(fā)環(huán)境
4.7.2圖書發(fā)布系統(tǒng)
4.7.3文件上傳系統(tǒng)
4.8 Virtualenv+Flask+MySQL+SQLAlchemy信息發(fā)布系統(tǒng)
4.8.1使用Virtualenv創(chuàng)建虛擬環(huán)境
4.8.2使用Flask實(shí)現(xiàn)數(shù)據(jù)庫遷移
4.8.3具體實(shí)現(xiàn)
4.9流行電影展示系統(tǒng)
4.9.1TheMovieDB簡介
4.9.2開發(fā)流程介紹
4.9.3具體實(shí)現(xiàn)
第5章 用戶登錄驗(yàn)證
5.1使用Cookie和Session
5.1.1 Flask框架中的Cookie
5.1.2 Flask框架中的Session
5.2使用 Flask-Login認(rèn)證用戶
5.2.1 Flask-Login基礎(chǔ)
5.2.2簡易登錄驗(yàn)證系統(tǒng)
5.3用戶注冊、登錄驗(yàn)證系統(tǒng)
5.3.1使用WTForms處理表單
5.3.2主程序文件
5.3.3模板文件
5.4使用Werkzeug實(shí)現(xiàn)散列密碼
5.4.1 Werkzeug基礎(chǔ)
5.4.2圖書借閱管理系統(tǒng)
5.5使用PyJWT提高用戶信息的安全性
5.5.1使用JWT認(rèn)證機(jī)制的基本流程
5.5.2用戶注冊、登錄驗(yàn)證系統(tǒng)
5.6使用Flask-OAuthlib擴(kuò)展實(shí)現(xiàn)OAuth2登錄驗(yàn)證
5.6.1豆瓣網(wǎng)授權(quán)登錄驗(yàn)證
5.6.2 QQ授權(quán)登錄驗(yàn)證
第6章 收發(fā)電子郵件
6.1使用Python內(nèi)置模塊收發(fā)郵件
6.1.1使用內(nèi)置模塊poplib
6.1.2開發(fā)SMTP郵件協(xié)議程序
6.1.3發(fā)送帶附件功能的郵件
6.2在Flask Web程序中收發(fā)電子郵件
6.2.1使用Flask-Mail 擴(kuò)展
6.2.2使用SendGrid發(fā)送郵件
6.2.3異步發(fā)送電子郵件
6.2.4使用庫envelopes發(fā)送郵件
6.3利用郵箱會員找回密碼
6.3.1系統(tǒng)配置
6.3.2數(shù)據(jù)庫模型
6.3.3模板文件
6.3.4表單處理
6.3.5 URL導(dǎo)航
6.3.6發(fā)送郵件提醒并重設(shè)密碼
第7章 使用Flask-Admin開發(fā)后臺管理系統(tǒng)
7.1 Flask-Admin基礎(chǔ)
7.1.1安裝并使用Flask-Admin
7.1.2使用模板文件
7.1.3添加子菜單
7.2數(shù)據(jù)庫模型視圖
7.2.1創(chuàng)建基本模型視圖
7.2.2 Flask-Admin使用SQLite數(shù)據(jù)庫
7.2.3 Flask-Admin使用MongoDB數(shù)據(jù)庫
7.3文件管理
7.4身份驗(yàn)證
7.4.1使用Flask-Login為后臺提供身份驗(yàn)證功能
7.4.2基于MongoDB數(shù)據(jù)庫的后臺登錄系統(tǒng)
7.4.3使用Flask-Security實(shí)現(xiàn)身份驗(yàn)證
第8章 使用上下文技術(shù)
8.1上下文介紹
8.1.1面向?qū)ο蟮碾p下畫線方法
8.1.2偏函數(shù)
8.1.3使用threading.local
8.2請求上下文和應(yīng)用上下文
8.2.1請求上下文
8.2.2應(yīng)用上下文
第9章 項(xiàng)目優(yōu)化
9.1使用藍(lán)圖實(shí)現(xiàn)模塊化
9.1.1使用藍(lán)圖的場景
9.1.2創(chuàng)建藍(lán)圖程序
9.1.3實(shí)現(xiàn)第一個藍(lán)圖程序
9.2 Flask-Cache擴(kuò)展
9.2.1使用Flask-Cache擴(kuò)展
9.2.2使用Flask-Caching擴(kuò)展
9.3基于Celery的后臺任務(wù)
9.3.1在Flask Web中使用Celery基礎(chǔ)
9.3.2使用Celery異步發(fā)送郵件并顯示進(jìn)度條
第10章 處理靜態(tài)文件
10.1使用Flask-Assets擴(kuò)展壓縮靜態(tài)文件
10.1.1 Flask-Assets基礎(chǔ)
10.1.2在線留言系統(tǒng)
10.2使用Flask-Themes修飾Web程序
10.2.1 Flask-Themes基礎(chǔ)
10.2.2使用Flask-Themes
第11章 開發(fā)RESTful API
11.1 RESTful基礎(chǔ)
11.2 RESTful Web Services
11.2.1創(chuàng)建Web Service
11.2.2使用Flask實(shí)現(xiàn)RESTful Web Service
11.2.3加強(qiáng) RESTful Web Services的安全性
11.2.4一個完整的Flask RESTful實(shí)例
11.3使用Flask-RESTful擴(kuò)展
11.3.1創(chuàng)建Flask-RESTful程序
11.3.2創(chuàng)建路由
11.3.3解析并驗(yàn)證請求
11.3.4生成響應(yīng)
11.3.5認(rèn)證
第12章 系統(tǒng)調(diào)試和部署
12.1 Flask信號機(jī)制
12.1.1信號的意義
12.1.2創(chuàng)建信號
12.1.3訂閱信號
12.1.4發(fā)送信號
12.1.5基于裝飾器的信號訂閱
12.1.6第一個信號訂閱實(shí)例
12.2使用Flask-Babel擴(kuò)展實(shí)現(xiàn)全球化部署
12.2.1 Flask-Babel基礎(chǔ)
12.2.2創(chuàng)建第一個全球化Web程序
12.3使用Flask-DebugToolbar擴(kuò)展調(diào)試程序
12.3.1 Flask-DebugToolbar基礎(chǔ)
12.3.2配置Flask-DebugToolbar
12.3.3 Flask-DebugToolbar的內(nèi)置面板
12.3.4使用Flask-Debug Toolbar
12.4使用Flask-Testing擴(kuò)展
12.4.1 Python中的單元測試
12.4.2 Flask-Testing基礎(chǔ)
12.4.3實(shí)現(xiàn)Twill+Flask-Testing測試
12.4.4為留言板系統(tǒng)添加單元測試功能
第13章 計數(shù)器模塊
13.1使用Session實(shí)現(xiàn)計數(shù)器功能
13.1.1簡易Session計數(shù)器
13.1.2 Session計數(shù)器的升級版
13.2多線程計數(shù)器
13.3使用redis保存計數(shù)數(shù)據(jù)
13.3.1簡易redis計數(shù)器
13.3.2精準(zhǔn)點(diǎn)贊計數(shù)器
13.4在線投票系統(tǒng)
13.4.1基于輪詢的簡易投票系統(tǒng)
13.4.2長輪詢投票系統(tǒng)
13.5完整的在線投票系統(tǒng)
13.5.1系統(tǒng)配置
13.5.2創(chuàng)建數(shù)據(jù)庫
13.5.3異步處理
13.5.4實(shí)現(xiàn)基本功能
13.5.5模板文件
第14章 在線留言系統(tǒng)模塊
14.1在線留言系統(tǒng)簡介
14.2在線留言系統(tǒng)實(shí)例概述
14.3系統(tǒng)配置
14.3.1總體配置
14.3.2數(shù)據(jù)庫設(shè)計
14.4留言數(shù)據(jù)顯示模塊
14.4.1視圖文件
14.4.2表單文件
第15章 富文本編輯器模塊
15.1使用UEditor
15.1.1在Flask項(xiàng)目中使用UEditor
15.1.2 UEditor文件上傳系統(tǒng)
15.2使用CKEditor
15.2.1 Flask-CKEditor基礎(chǔ)
15.2.2 Flask-Admin和Flask-CKEditor集成
15.2.3圖片上傳系統(tǒng)
第16章 分頁模塊
16.1使用Flask-SQLALchemy實(shí)現(xiàn)分頁
16.1.1使用Pagination對象
16.1.2使用Flask-SQLALchemy分頁顯示數(shù)據(jù)庫數(shù)據(jù)的基本流程
16.2自定義分頁工具類
16.3使用Flask-Pagination實(shí)現(xiàn)分頁
16.3.1 Flask-Pagination基礎(chǔ)
16.3.2 Flask-Pagination分頁系統(tǒng)
第17章 信息發(fā)布模塊
17.1信息發(fā)布系統(tǒng)簡介
17.2信息發(fā)布系統(tǒng)實(shí)例概述
17.3系統(tǒng)配置
17.3.1總體配置
17.3.2數(shù)據(jù)庫設(shè)計
17.4新聞?wù)故灸K
17.4.1URL映射
17.4.2新聞?wù)故竞瘮?shù)
17.5后臺管理模塊
17.5.1發(fā)布新聞
17.5.2設(shè)置站點(diǎn)信息
17.5.3設(shè)置用戶信息
第18章 基于深度學(xué)習(xí)的人臉識別系統(tǒng)
18.1系統(tǒng)需求分析
18.1.1系統(tǒng)功能分析
18.1.2實(shí)現(xiàn)流程分析
18.1.3技術(shù)分析
18.2照片樣本采集
18.3深度學(xué)習(xí)和訓(xùn)練
18.3.1原始圖像預(yù)處理
18.3.2構(gòu)建人臉識別模塊
18.4人臉識別
18.5 Flask Web人臉識別接口
18.5.1導(dǎo)入庫文件
18.5.2識別上傳照片
18.5.3在線識別