本書共分三部分,介紹如何基于Python微框架Flask進行Web開發(fā)。及時部分是Flask簡介,介紹使用Flask框架及擴展開發(fā)Web程序的必備基礎知識。第二部分則給出一個實例,真正帶領大家一步步開發(fā)完整的博客和社交應用Flasky,從而將前述知識融會貫通,付諸實踐。第三部分介紹了應用之前必須考慮的事項,如單元測試策略、性能分析技術、Flask程序的部署方式等。
本書適合熟悉Python編程,有意通過Flask掌控Web開發(fā)的程序員學習參考。
Flask能讓開發(fā)者做主,自主選擇程序的組件,甚至在找不到合適組件時,自行開發(fā)!
作者集25年軟件開發(fā)經(jīng)驗,展示了自己使用Flask開發(fā)Web程序的工作流程。
從安裝與環(huán)境設置講起,目標則是搭建服務器端Web應用。
書中貫穿講解一個程序,從寥寥幾行代碼逐章擴展,終打造成功能完善的社交博客Flasky.
直接了當?shù)亟o出必知必會的知識,為初學者提供進一步探索的起點。
全流程講解Web應用開發(fā),讓中高級讀者掌握實踐。
Miguel Grinberg
擁有25年開發(fā)經(jīng)驗的高級軟件工程師,目前為廣播公司開發(fā)視頻軟件。他常在個人博客上撰寫各類博文,內容主要涉及Web開發(fā)、機器人技術、攝影,偶爾也會有一些影評。他和妻子、四個孩子、兩只狗和一只貓共同生活在俄勒岡州波特蘭市。
前言
及時部分Flask簡介
第1章安裝
1.1使用虛擬環(huán)境
1.2使用pip安裝Python包
第2章程序的基本結構
2.1初始化
2.2路由和視圖函數(shù)
2.3啟動服務器
2.4一個完整的程序
2.5請求一響應循環(huán)
2.5.1程序和請求上下文
2.5.2請求調度
2.5.3請求鉤子
2.5.4響應
2.6Flask擴展
第3章模板
3.1Jinja2模板引擎
3.1.1渲染模板
3.1.2變量
3.1.3控制結構
3.2使用Flask—Bootstrap集成Twitter Bootstrap
3.3自定義錯誤頁面
3.4鏈接
3.5靜態(tài)文件
3.6使用:Flask—Moment本地化日期和時間
第4章web表單
4.1跨站請求偽造保護
4.2表單類
4.3把表單渲染成HTML
4.4在視圖函數(shù)中處理表單
4.5重定向和用戶會話
4.6Flash消息
第5章數(shù)據(jù)庫
5.1SQL數(shù)據(jù)庫
5.2NoSQL數(shù)據(jù)庫
5.3使用SQL還是NoSQL
5.4Python數(shù)據(jù)庫框架
5.5使用FlaskSQLAlchemy管理數(shù)據(jù)庫
5.6定義模型
5.7關系
5.8數(shù)據(jù)庫操作
5.8.1創(chuàng)建表
5.8.2插入行
5.8.3修改行
5.8.4冊4除行
5.8.5查詢行
5.9在視圖函數(shù)中操作數(shù)據(jù)庫
5.10集成Python shell
5.11使用FlaskMigrate實現(xiàn)數(shù)據(jù)庫遷移
5.11.1創(chuàng)建遷移倉庫
5.11.2創(chuàng)建遷移腳本
5.11.3更新數(shù)據(jù)庫
第6章電子郵件
使用FlaskMail提供電子郵件支持
在Python shell中發(fā)送電子郵件
在程序中集成發(fā)送電子郵件功能
異步發(fā)送電子郵件
第7章大型程序的結構
7.1項目結構
7.2配置選項
7.3程序包
7.3.1使用程序工廠函數(shù)
7.3.2在藍本中實現(xiàn)程序功能
7.4啟動腳本
7.5需求文件
7.6單元測試
7.7創(chuàng)建數(shù)據(jù)庫
第二部分實例:社交博客程序
第8章用戶認證
8.1F[ask的認證擴展
8.2密碼安全性
8.3創(chuàng)建認證藍本
8.4使用Flask—Login認證用戶
8.4.1準備用于登錄的用戶模型
8.4.2保護路由
8.4.3添加登錄表單
8.4.4登入用戶
8.4.5登出用戶
8.4.6測試登錄
8.5注冊新用戶
8.5.1添加用戶注冊表單
8.5.2注冊新用戶
8.6確認賬戶
8.6.1使用itsdangerous生成確認令牌
8.6.2發(fā)送確認郵件
8.7管理賬戶
第9章用戶角色
9.1角色在數(shù)據(jù)庫中的表示
9.2賦予角色
9.3角色驗證
第10章用戶資料
10.1資料信息
10.2用戶資料頁面
10.3資料編輯器
10.3.1用戶級別的資料編輯器
10.3.2管理員級別的資料編輯器
10.4用戶頭像
第11章博客文章
11.1提交和顯示博客文章
11.2在資料頁中顯示博客文章
11.3分頁顯示長博客文章列表
11.3.1創(chuàng)建虛擬博客文章數(shù)據(jù)
11.3.2在頁面中渲染數(shù)據(jù)
11.3.3添加分頁導航
11.4使用Markdown和FlaskPageDown支持富文本文章.
11.4.1使用FlaskPageDown
11.4.2在服務器上處理富文本
11.5博客文章的固定鏈接
11.6博客文章編輯器
第12章關注者
12.1再論數(shù)據(jù)庫關系
12.1.1多對多關系
12.1.2自引用關系
12.1.3高級多對多關系
12.2在資料頁中顯示關注者
12.3使用數(shù)據(jù)庫聯(lián)結查詢所關注用戶的文章
12.4在首頁顯示所關注用戶的文章
第13章用戶評論
13.1評論在數(shù)據(jù)庫中的表示
13.2提交和顯示評論
13.3管理評論
第14章應用編程接口
14.1REST簡介
14.1.1資源就是一切
14.1.2請求方法
14.1.3請求和響應主體
14.1.4版本
14.2使用FIask提供RESTWeb服務
14.2.1創(chuàng)建API藍本
14.2.2錯誤處理
14.2.3使用FlaskHTTPAuth認證用戶
14.2.4基于令牌的認證
14.2.5資源和JSON的序列化轉換.
14.2.6實現(xiàn)資源端點
14.2.7分頁大型資源集合
14.2.8使用HTTPie測試Web服務
第三部分成功在望
第15章測試
15.1獲取代碼覆蓋報告
15.2Flask測試客戶端
15.2.1測試Web程序
15.2.2測試Wleb服務
15.3使用Selenium進行端到端測試
15.4值得測試嗎
第16章性能
16.1記錄影響性能的緩慢數(shù)據(jù)庫查詢
16.2分析源碼
第17章部署
17.1部署流程
17.2把生產環(huán)境中的錯誤寫入日志
17.3云部署
17.4Heroku平臺
17.4.1準備程序
17.4.2使用Foreman進行測試
17.4.3使用Flask.SSLifv啟用安全HTTP
17.4.4執(zhí)行gtt push命令部署
17.4.5查看日志
17.4.6部署一次升級
17.5傳統(tǒng)的托管
17.5.1架設服務器
17.5.2導入環(huán)境變量
17.5.3配置日志
第18章其他資源
18.1使用集成開發(fā)環(huán)境
18.2查找Flask擴展
18.3參與Flask開發(fā)
關于封面圖
"好久沒有看到這么棒的技術書了!它從安裝與環(huán)境設置講起,目標則是搭建服務器端Web應用。本書直接了當?shù)亟o出了讀者必知必會的知識,為初學者提供了進一步探索的起點,也讓中高級讀者能夠掌握實踐。"
"我不是新手,做過Flask應用開發(fā),我以為自己了解相關基礎知識。但實際閱讀中,我卻折了很多頁,時不時會翻閱相關的知識點。其中的技巧和提示總能讓我茅塞頓開……真是有幸讀了這本書!"
"本書的組織結構非常合理。讀完本書,我也親身參與構建了Web應用,真正拾級而上掌握了強大的Flask開發(fā)。"
web開發(fā)值得研究!
挺好的一本書,但是需要花時間摳。
性價比高,是正版書,推薦購買。
經(jīng)典的狗書,非常適合小白們入門,值得購買
還沒有看呢,書的紙張不錯
內容不錯,需要基礎,很多代碼不全,不是很細
幫學生定的書。
包裝完好,物流很快!
書有點薄 還可以
包裝破了。
Flask狗書 不錯 好好看看
適合入門,知識點最好自己總結一下
Satisfied
書很薄,相對于書價而言,對于學生黨來說是貴了!
沒必要買這個,如果有點兒英語基礎,可以直接下載英文版電子書就夠了
還沒看,不過是有點折了,包裝的不是很好,不影響。
外國原版,一看就覺得不錯,分章節(jié)寫的很清晰,學習了~
這本書真真的是一本進行flask開發(fā)的好書!!強烈推薦!!
看了幾天書,然后就花了一周時間做出了一個二手交易論壇,寫到簡歷里了,非常值!!
適合初入門觀看,進階者還是看官網(wǎng)文件比較好
不錯,很好的一本入門python的web開發(fā)書籍
對于快速上手web開發(fā)來說,這本書十分的推薦!
另一個推薦學習python的輕型框架教材,看了一點,容易上手,如果深入學習的話還得補一些其他的知識。另外還能順便學點基本的git命令
Python中Flask框架介紹很詳細,步步到位。
一本flask開發(fā)web程序的必備書目,適合初學者,有些小遺憾,內容講的不夠細
物流超快,之前Django用不慣,試試Flask
唉!書有點損傷,不過內傷到里面,也就算了,不錯,看著雖然和自學的時候不一樣,這樣也算重新學一遍好了