Flask Web開(kāi)發(fā)入門(mén)、進(jìn)階與實(shí)戰(zhàn)
定 價(jià):119 元
- 作者:張學(xué)建
- 出版時(shí)間:2021/3/1
- ISBN:9787111673170
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類(lèi):TP311.561
- 頁(yè)碼:344
- 紙張:
- 版次:
- 開(kāi)本:16開(kāi)
Flask Web開(kāi)發(fā)入門(mén)、進(jìn)階與實(shí)戰(zhàn)介紹了使用Python語(yǔ)言開(kāi)發(fā)Flask Web程序的知識(shí),并通過(guò)具體實(shí)例講解了使用Flask框架的方法和流程。全書(shū)共18章,內(nèi)容包括Flask Web開(kāi)發(fā)基礎(chǔ)、使用Flask模板、實(shí)現(xiàn)表單操作、Flask數(shù)據(jù)庫(kù)操作、用戶(hù)登錄驗(yàn)證、收發(fā)電子郵件、使用Flask-Admin開(kāi)發(fā)后臺(tái)管理系統(tǒng)、使用上下文技術(shù)、項(xiàng)目?jī)?yōu)化、處理靜態(tài)文件、開(kāi)發(fā)RESTful API、系統(tǒng)調(diào)試和部署、計(jì)數(shù)器模塊、在線留言系統(tǒng)模塊、富文本編輯器模塊、分頁(yè)模塊、信息發(fā)布模塊、基于深度學(xué)習(xí)的人臉識(shí)別系統(tǒng)。全書(shū)簡(jiǎn)潔而不失技術(shù)深度,內(nèi)容豐富而全面,不僅易于閱讀,而且涵蓋了其他同類(lèi)圖書(shū)中很少涉及的歷史參考資料,是學(xué)習(xí)Flask Web開(kāi)發(fā)的實(shí)用教程。
Flask Web開(kāi)發(fā)入門(mén)、進(jìn)階與實(shí)戰(zhàn)適用于已了解Python基礎(chǔ)知識(shí)、希望進(jìn)一步提高個(gè)人開(kāi)發(fā)水平的讀者,還可以作為大中專(zhuān)院校和培訓(xùn)學(xué)校相關(guān)專(zhuān)業(yè)師生的學(xué)習(xí)參考用書(shū)。
目錄
前言
第1章 Flask Web開(kāi)發(fā)基礎(chǔ)
1.1 Flask框架介紹
1.1.1 Flask框架的基本結(jié)構(gòu)
1.1.2 Flask和Django的對(duì)比
1.2 安裝Flask
1.2.1 快速安裝Flask
1.2.2 使用PyCharm創(chuàng)建虛擬環(huán)境
1.3 初步認(rèn)識(shí)Flask Web程序
1.3.1 編寫(xiě)第一個(gè)Flask Web程序
1.3.2 使用PyCharm編寫(xiě)第一個(gè)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請(qǐng)求
1.4.5 模擬實(shí)現(xiàn)用戶(hù)登錄系統(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 包含頁(yè)和宏
2.3 使用Flask-Bootstrap擴(kuò)展
2.3.1 Flask-Bootstrap擴(kuò)展基礎(chǔ)
2.3.2 在Flask Web中使用Flask-Bootstrap擴(kuò)展
2.3.3 自定義錯(cuò)誤頁(yè)面
2.4 使用Flask-Moment擴(kuò)展本地化處理日期和時(shí)間
2.4.1 Flask-Moment基礎(chǔ)
2.4.2 使用Flask-Moment顯示時(shí)間
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重定向和會(huì)話(huà)處理
3.2.1Flask中的重定向和會(huì)話(huà)處理
3.2.2實(shí)現(xiàn)重定向和會(huì)話(huà)處理
3.3Flash閃現(xiàn)提示
3.3.1Flash基礎(chǔ)
3.3.2使用模板渲染flash()函數(shù)的閃現(xiàn)提示信息
3.4文件上傳
3.4.1簡(jiǎn)易文件上傳程序
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注冊(cè)驗(yàn)證和登錄驗(yàn)證
第4章 Flask數(shù)據(jù)庫(kù)操作
4.1關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)
4.1.1關(guān)系型數(shù)據(jù)庫(kù)
4.1.2非關(guān)系型數(shù)據(jù)庫(kù)
4.2Python語(yǔ)言的數(shù)據(jù)庫(kù)框架
4.2.1程序文件
4.2.2模板文件
4.3使用Flask-SQLAlchemy管理數(shù)據(jù)庫(kù)
4.3.1Flask-SQLAlchemy基礎(chǔ)
4.3.2定義模型
4.3.3關(guān)系
4.4使用Flask-SQLAlchemy操作數(shù)據(jù)庫(kù)
4.4.1新建表
4.4.2添加行
4.4.3修改行
4.4.4刪除行
4.4.5查詢(xún)行
4.4.6在視圖函數(shù)中操作數(shù)據(jù)庫(kù)
4.4.7使用Flask-SQLAlchemy實(shí)現(xiàn)一個(gè)簡(jiǎn)易登錄系統(tǒng)
4.4.8使用Flask-SQLAlchemy實(shí)現(xiàn)小型BBS系統(tǒng)
4.5將數(shù)據(jù)庫(kù)操作集成到Python shell
4.6使用Flask-Migrate實(shí)現(xiàn)數(shù)據(jù)庫(kù)遷移
4.6.1創(chuàng)建Virtualenv虛擬環(huán)境
4.6.2創(chuàng)建遷移倉(cāng)庫(kù)
4.6.3創(chuàng)建遷移腳本
4.6.4更新數(shù)據(jù)庫(kù)
4.7使用CouchDB數(shù)據(jù)庫(kù)
4.7.1搭建開(kāi)發(fā)環(huán)境
4.7.2圖書(shū)發(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ù)庫(kù)遷移
4.8.3具體實(shí)現(xiàn)
4.9流行電影展示系統(tǒng)
4.9.1TheMovieDB簡(jiǎn)介
4.9.2開(kāi)發(fā)流程介紹
4.9.3具體實(shí)現(xiàn)
第5章 用戶(hù)登錄驗(yàn)證
5.1使用Cookie和Session
5.1.1 Flask框架中的Cookie
5.1.2 Flask框架中的Session
5.2使用 Flask-Login認(rèn)證用戶(hù)
5.2.1 Flask-Login基礎(chǔ)
5.2.2簡(jiǎn)易登錄驗(yàn)證系統(tǒng)
5.3用戶(hù)注冊(cè)、登錄驗(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圖書(shū)借閱管理系統(tǒng)
5.5使用PyJWT提高用戶(hù)信息的安全性
5.5.1使用JWT認(rèn)證機(jī)制的基本流程
5.5.2用戶(hù)注冊(cè)、登錄驗(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開(kāi)發(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使用庫(kù)envelopes發(fā)送郵件
6.3利用郵箱會(huì)員找回密碼
6.3.1系統(tǒng)配置
6.3.2數(shù)據(jù)庫(kù)模型
6.3.3模板文件
6.3.4表單處理
6.3.5 URL導(dǎo)航
6.3.6發(fā)送郵件提醒并重設(shè)密碼
第7章 使用Flask-Admin開(kāi)發(fā)后臺(tái)管理系統(tǒng)
7.1 Flask-Admin基礎(chǔ)
7.1.1安裝并使用Flask-Admin
7.1.2使用模板文件
7.1.3添加子菜單
7.2數(shù)據(jù)庫(kù)模型視圖
7.2.1創(chuàng)建基本模型視圖
7.2.2 Flask-Admin使用SQLite數(shù)據(jù)庫(kù)
7.2.3 Flask-Admin使用MongoDB數(shù)據(jù)庫(kù)
7.3文件管理
7.4身份驗(yàn)證
7.4.1使用Flask-Login為后臺(tái)提供身份驗(yàn)證功能
7.4.2基于MongoDB數(shù)據(jù)庫(kù)的后臺(tái)登錄系統(tǒng)
7.4.3使用Flask-Security實(shí)現(xiàn)身份驗(yàn)證
第8章 使用上下文技術(shù)
8.1上下文介紹
8.1.1面向?qū)ο蟮碾p下畫(huà)線方法
8.1.2偏函數(shù)
8.1.3使用threading.local
8.2請(qǐng)求上下文和應(yīng)用上下文
8.2.1請(qǐng)求上下文
8.2.2應(yīng)用上下文
第9章 項(xiàng)目?jī)?yōu)化
9.1使用藍(lán)圖實(shí)現(xiàn)模塊化
9.1.1使用藍(lán)圖的場(chǎng)景
9.1.2創(chuàng)建藍(lán)圖程序
9.1.3實(shí)現(xiàn)第一個(gè)藍(lán)圖程序
9.2 Flask-Cache擴(kuò)展
9.2.1使用Flask-Cache擴(kuò)展
9.2.2使用Flask-Caching擴(kuò)展
9.3基于Celery的后臺(tái)任務(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章 開(kāi)發(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一個(gè)完整的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)證請(qǐng)求
11.3.4生成響應(yīng)
11.3.5認(rèn)證
第12章 系統(tǒng)調(diào)試和部署
12.1 Flask信號(hào)機(jī)制
12.1.1信號(hào)的意義
12.1.2創(chuàng)建信號(hào)
12.1.3訂閱信號(hào)
12.1.4發(fā)送信號(hào)
12.1.5基于裝飾器的信號(hào)訂閱
12.1.6第一個(gè)信號(hào)訂閱實(shí)例
12.2使用Flask-Babel擴(kuò)展實(shí)現(xiàn)全球化部署
12.2.1 Flask-Babel基礎(chǔ)
12.2.2創(chuàng)建第一個(gè)全球化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中的單元測(cè)試
12.4.2 Flask-Testing基礎(chǔ)
12.4.3實(shí)現(xiàn)Twill+Flask-Testing測(cè)試
12.4.4為留言板系統(tǒng)添加單元測(cè)試功能
第13章 計(jì)數(shù)器模塊
13.1使用Session實(shí)現(xiàn)計(jì)數(shù)器功能
13.1.1簡(jiǎn)易Session計(jì)數(shù)器
13.1.2 Session計(jì)數(shù)器的升級(jí)版
13.2多線程計(jì)數(shù)器
13.3使用redis保存計(jì)數(shù)數(shù)據(jù)
13.3.1簡(jiǎn)易redis計(jì)數(shù)器
13.3.2精準(zhǔn)點(diǎn)贊計(jì)數(shù)器
13.4在線投票系統(tǒng)
13.4.1基于輪詢(xún)的簡(jiǎn)易投票系統(tǒng)
13.4.2長(zhǎng)輪詢(xún)投票系統(tǒng)
13.5完整的在線投票系統(tǒng)
13.5.1系統(tǒng)配置
13.5.2創(chuàng)建數(shù)據(jù)庫(kù)
13.5.3異步處理
13.5.4實(shí)現(xiàn)基本功能
13.5.5模板文件
第14章 在線留言系統(tǒng)模塊
14.1在線留言系統(tǒng)簡(jiǎn)介
14.2在線留言系統(tǒng)實(shí)例概述
14.3系統(tǒng)配置
14.3.1總體配置
14.3.2數(shù)據(jù)庫(kù)設(shè)計(jì)
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章 分頁(yè)模塊
16.1使用Flask-SQLALchemy實(shí)現(xiàn)分頁(yè)
16.1.1使用Pagination對(duì)象
16.1.2使用Flask-SQLALchemy分頁(yè)顯示數(shù)據(jù)庫(kù)數(shù)據(jù)的基本流程
16.2自定義分頁(yè)工具類(lèi)
16.3使用Flask-Pagination實(shí)現(xiàn)分頁(yè)
16.3.1 Flask-Pagination基礎(chǔ)
16.3.2 Flask-Pagination分頁(yè)系統(tǒng)
第17章 信息發(fā)布模塊
17.1信息發(fā)布系統(tǒng)簡(jiǎn)介
17.2信息發(fā)布系統(tǒng)實(shí)例概述
17.3系統(tǒng)配置
17.3.1總體配置
17.3.2數(shù)據(jù)庫(kù)設(shè)計(jì)
17.4新聞?wù)故灸K
17.4.1URL映射
17.4.2新聞?wù)故竞瘮?shù)
17.5后臺(tái)管理模塊
17.5.1發(fā)布新聞
17.5.2設(shè)置站點(diǎn)信息
17.5.3設(shè)置用戶(hù)信息
第18章 基于深度學(xué)習(xí)的人臉識(shí)別系統(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)建人臉識(shí)別模塊
18.4人臉識(shí)別
18.5 Flask Web人臉識(shí)別接口
18.5.1導(dǎo)入庫(kù)文件
18.5.2識(shí)別上傳照片
18.5.3在線識(shí)別