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