-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Flask Web開發實戰:入門、進階與原理解析

( 簡體 字)
作者:李輝類別:1. -> 程式設計 -> Python
譯者:
出版社:機械工業出版社Flask Web開發實戰:入門、進階與原理解析 3dWoo書號: 49831
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:8/27/2018
頁數:684
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787111606598
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書由Flask官方團隊的開發成員撰寫,得到了Flask項目核心維護者的高度認可。
內容上,本書從基礎知識到進階實戰,再到Flask原理和工作機制解析,涵蓋完整的Flask Web開發學習路徑,非常全面。
實戰上,本書從開發環境的搭建、項目的建立與組織到程序的編寫,再到自動化測試、性能優化,后到生產環境的搭建和部署上線,詳細講解完整的Flask Web程序開發流程,用5個綜合性案例將不同難度層級的知識點及具體原理串聯起來,讓你在開發技巧、原理實現和編程思想上都獲得相應的提升。
技術上,不僅Flask使用的是新發布的穩定版,而且連相關的Python工具包使用的也是全新的版本,同時對未來可能有變化的地方進行了說明,以此確保本書內容在一定時間內不會過時。
本書共16章,分為三部分。
第一部分 基礎篇(第1~6章)
通過大量的程序實例詳細介紹了Flask的所有基礎知識,同時在每章的后面又提供了一些進階技巧,供進階讀者學習。
第二部分 實戰篇(第7~11章)
通過5個真實的項目案例來串接和闡釋不同的知識點,難度逐漸遞增。這5個案例分別為:留言板SayHello、個人博客Bluelog、圖片社交網站Albumy、待辦事項程序Todoism和聊天室CatChat。
第三部分 進階篇(第12~16章)
首先介紹了Flask程序的部署流程:測試、性能優化和部署上線;然后通過一個真實的實例講解了Flask擴展的開發,后以源代碼為切入點深入剖析了Flask的實現原理與主要工作機制。
目錄:

前言
第一部分 基礎篇
第1章 初識Flask2
1.1 搭建開發環境3
1.1.1 Pipenv工作流3
1.1.2 安裝Flask7
1.1.3 集成開發環境8
1.2 Hello, Flask!11
1.2.1 創建程序實例11
1.2.2 注冊路由12
1.3 啟動開發服務器14
1.3.1 Run,Flask,Run!14
1.3.2 更多的啟動選項18
1.3.3 設置運行環境18
1.4 Python Shell20
1.5 Flask擴展21
1.6 項目配置22
1.7 URL與端點23
1.8 Flask命令23
1.9 模板與靜態文件24
1.10 Flask與MVC架構25
1.11 本章小結26
第2章 Flask與HTTP27
2.1 請求響應循環27
2.2 HTTP請求29
2.2.1 請求報文29
2.2.2 Request對象31
2.2.3 在Flask中處理請求34
2.2.4 請求鉤子37
2.3 HTTP響應38
2.3.1 響應報文39
2.3.1 在Flask中生成響應40
2.3.2 響應格式43
2.3.3 來一塊Cookie46
2.3.4 session:安全的Cookie49
2.4 Flask上下文54
2.4.1 上下文全局變量54
2.4.2 激活上下文55
2.4.3 上下文鉤子56
2.5 HTTP進階實踐57
2.5.1 重定向回上一個頁面57
2.5.2 使用AJAX技術發送異步請求60
2.5.3 HTTP服務器端推送64
2.5.4 Web安全防范65
2.6 本章小結74
第3章 模板75
3.1 模板基本用法75
3.1.1 創建模板76
3.1.2 模板語法77
3.1.3 渲染模板78
3.2 模板輔助工具80
3.2.1 上下文80
3.2.2 全局對象82
3.2.3 過濾器83
3.2.4 測試器85
3.2.5 模板環境對象87
3.3 模板結構組織88
3.3.1 局部模板88
3.3.2 宏88
3.3.3 模板繼承90
3.4 模板進階實踐93
3.4.1 空白控制93
3.4.2 加載靜態文件94
3.4.3 消息閃現98
3.4.4 自定義錯誤頁面100
3.4.5 JavaScript和CSS中的Jinja2101
3.5 本章小結103
第4章 表單104
4.1 HTML表單104
4.2 使用Flask-WTF處理表單106
4.2.1 定義WTForms表單類106
4.2.2 輸出HTML代碼109
4.2.3 在模板中渲染表單110
4.3 處理表單數據112
4.3.1 提交表單112
4.3.2 驗證表單數據113
4.3.3 在模板中渲染錯誤消息117
4.4 表單進階實踐118
4.4.1 設置錯誤消息語言118
4.4.2 使用宏渲染表單120
4.4.3 自定義驗證器121
4.4.4 文件上傳122
4.4.5 使用Flask-CKEditor集成富文本編輯器129
4.4.6 單個表單多個提交按鈕132
4.4.7 單個頁面多個表單133
4.5 本章小結137
第5章 數據庫138
5.1 數據庫的分類139
5.1.1 SQL139
5.1.2 NoSQL139
5.1.3 如何選擇?140
5.2 ORM魔法140
5.3 使用Flask-SQLAlchemy管理數據庫142
5.3.1 連接數據庫服務器142
5.3.2 定義數據庫模型144
5.3.3 創建數據庫和表145
5.4 數據庫操作146
5.4.1 CRUD147
5.4.2 在視圖函數里操作數據庫151
5.5 定義關系156
5.5.1 配置Python Shell上下文157
5.5.2 一對多158
5.5.3 多對一164
5.5.4 一對一165
5.5.5 多對多166
5.6 更新數據庫表168
5.6.1 重新生成表168
5.6.2 使用Flask-Migrate遷移數據庫169
5.6.3 開發時是否需要遷移?171
5.7 數據庫進階實踐172
5.7.1 級聯操作172
5.7.2 事件監聽175
5.8 本章小結177
第6章 電子郵件178
6.1 使用Flask-Mail發送電子郵件179
6.1.1 配置Flask-Mail179
6.1.2 構建郵件數據182
6.1.3 發送郵件182
6.2 使用事務郵件服務SendGird183
6.2.1 注冊SendGird183
6.2.2 SendGrid SMTP轉發185
6.2.3 SendGrid Web API轉發185
6.3 電子郵件進階實踐188
6.3.1 提供HTML正文188
6.3.2 使用Jinja2模板組織郵件正文189
6.3.3 異步發送郵件191
6.4 本章小結192
第二部分 實戰篇
第7章 留言板194
7.1 使用包組織代碼195
7.1.1 配置文件196
7.1.2 創建程序實例197
7.2 Web程序開發流程198
7.2.1 程序功能設計199
7.2.1 前端頁面開發200
7.2.3 后端程序開發202
7.3 使用Bootstrap-Flask簡化頁面編寫206
7.3.1 加載資源文件207
7.3.2 快捷渲染表單207
7.4 使用Flask-Moment本地化日期和時間209
7.4.1 本地化前的準備209
7.4.2 使用Flask-Moment集成Moment.js209
7.4.3 渲染時間日期210
7.5 使用Faker生成虛擬數據213
7.6 使用Flask-DebugToolbar調試程序215
7.7 Flask配置的兩種組織形式216
7.7.1 環境變量優先217
7.7.2 實例文件夾覆蓋217
7.8 本章小結218
第8章 個人博客219
8.1 大型項目結構220
8.1.1 使用藍本模塊化程序221
8.1.2 使用類組織配置227
8.1.3 使用工廠函數創建程序實例228
8.2 編寫程序骨架232
8.2.1 數據庫233
8.2.2 模板240
8.2.3 表單246
8.2.4 視圖函數249
8.2.5 電子郵件支持249
8.3 編寫博客前臺251
8.3.1 分頁顯示文章列表251
8.3.2 顯示文章正文258
8.3.3 文章固定鏈接259
8.3.4 顯示分類文章列表262
8.3.5 顯示評論列表263
8.3.6 發表評論與回復266
8.3.7 支持回復評論267
8.3.8 網站主題切換269
8.4 初始化博客271
8.4.1 安全存儲密碼271
8.4.2 創建管理員用戶273
8.5 使用Flask-Login管理用戶認證275
8.5.1 獲取當前用戶276
8.5.2 登入用戶277
8.5.3 登出用戶278
8.5.4 視圖保護279
8.6 使用CSRFProtect實現CSRF保護281
8.7 編寫博客后臺283
8.7.1 文章管理284
8.7.2 評論管理291
8.7.3 分類管理297
8.8 本章小結298
第9章 圖片社交網站299
9.1 項目組織架構300
9.1.1 功能式架構300
9.1.2 分區式架構302
9.1.3 混合式架構303
9.1.4 如何選擇303
9.2 編寫程序骨架303
9.2.1 數據庫模型與虛擬數據305
9.2.2 模板與靜態文件307
9.3 高級用戶認證308
9.3.1 用戶注冊309
9.3.2 驗證郵箱地址311
9.3.3 使用裝飾器過濾未確認用戶315
9.3.4 密碼重置316
9.4 基于用戶角色的權限管理319
9.4.1 角色與權限模型319
9.4.2 設置角色與權限320
9.4.3 寫入角色與權限321
9.4.4 驗證用戶權限323
9.5 使用Flask-Dropzone優化文件上傳325
9.5.1 配置Flask-Dropzone326
9.5.2 渲染上傳區域328
9.5.3 處理并保存上傳圖片329
9.6 使用Flask-Avatars處理用戶頭像334
9.6.1 默認頭像335
9.6.2 生成隨機頭像335
9.7 圖片展示與管理337
9.7.1 在用戶主頁顯示圖片列表338
9.7.2 圖片詳情頁341
9.7.3 上一張下一張跳轉342
9.7.4 刪除確認模態框344
9.7.5 舉報圖片346
9.7.6 圖片描述347
9.7.7 圖片標簽349
9.7.8 用戶資料彈窗353
9.8 收藏圖片358
9.8.1 使用關聯模型表示多對多關系358
9.8.2 添加和取消收藏360
9.8.3 收藏者和收藏頁面362
9.9 用戶關注365
9.9.1 自引用多對多關系365
9.9.2 關注與取消關注366
9.9.3 顯示關注用戶列表369
9.9.4 使用AJAX在彈窗中執行關注操作371
9.10 消息提醒378
9.10.1 提醒消息在數據庫中的表示379
9.10.2 創建提醒379
9.10.3 顯示和管理提醒380
9.10.4 通過輪詢實時更新未讀計數382
9.11 用戶資料與賬戶設置384
9.11.1 編輯個人資料385
9.11.2 自定義頭像386
9.11.3 更改密碼392
9.11.4 提醒消息開關394
9.11.5 將收藏設為僅自己可見395
9.11.6 注銷賬戶396
9.12 首頁與探索397
9.12.1 獲取正在關注用戶的圖片399
9.12.2 使用聯結和分組查詢獲取熱門標簽401
9.12.3 使用數據庫通用函數獲取隨機圖片402
9.13 使用Flask-Whooshee實現全文搜索403
9.13.1 創建索引404
9.13.2 搜索表單405
9.13.3 顯示搜索結果406
9.14 編寫網站后臺407
9.14.1 用戶管理408
9.14.2 資源管理411
9.14.3 面向管理員的用戶資料編輯412
9.15 本章小結413
第10章 待辦事項程序415
10.1 使用JavaScript和AJAX編寫單頁程序417
10.1.1 單頁程序的模板組織418
10.1.2 在根頁面內切換子頁面421
10.1.3 生成測試賬戶423
10.1.4 添加新待辦條目424
10.2 國際化與本地化426
10.2.1 使用Flask-Babel集成Babel427
10.2.2 區域和語言427
10.2.3 文本的國際化432
10.2.4 文本的本地化433
10.2.5 時間與日期的本地化438
10.3 設計并編寫Web API440
10.3.1 認識Web API441
10.3.2 設計優美實用的Web API443
10.3.3 使用Flask編寫Web API446
10.3.4 使用OAuth認證453
10.3.5 資源的序列化461
10.3.6 資源的反序列化465
10.3.7 Web API的測試與發布470
10.4 本章小結473
第11章 在線聊天室474
11.1 編寫程序骨架476
11.2 Gravatar頭像477
11.3 使用Flask-SocketIO建立實時雙向通信480
11.3.1 建立Socket.IO連接481
11.3.2 一條消息的旅程482
11.3.3 在線人數統計485
11.3.4 通信頻道分離486
11.4 使用Flask-OAuthlib實現第三方登錄489
11.4.1 編寫OAuth客戶端490
11.4.2 注冊OAuth程序491
11.4.3 處理OAuth2授權493
11.4.4 處理OAuth1授權505
11.5 聊天室功能增強507
11.5.1 無限滾動加載歷史消息507
11.5.2 Markdown支持510
11.5.3 代碼語法高亮512
11.5.4 標簽頁消息提醒515
11.5.5 瀏覽器桌面通知517
11.5.6 消息管理519
11.6 本章小結519
第三部分 進階篇
第12章 自動化測試522
12.1 認識自動化測試522
12.2 Flask測試客戶端523
12.3 使用unittest編寫單元測試525
12.3.1 Flask程序的測試固件525
12.3.2 編寫測試用例527
12.3.3 組織測試533
12.3.4 運行測試535
12.4 使用Selenium進行用戶界面測試536
12.4.1 安裝瀏覽器與驅動537
12.4.2 準備測試環境538
12.4.3 編寫測試代碼539
12.5 使用Coverage.py計算測試覆蓋率541
12.5.1 基本用法542
12.5.2 獲取測試覆蓋率543
12.6 使用Flake8檢查代碼質量544
12.7 本章小結546
第13章 性能優化547
13.1 程序性能分析548
13.1.1 函數性能分析548
13.1.2 數據庫查詢分析549
13.2 使用Flask-Caching設置緩存551
13.2.1 緩存視圖函數552
13.2.2 緩存其他函數554
13.2.3 更新緩存554
13.2.4 使用Redis作為緩存后端556
13.3 使用Flask-Assets優化靜態資源557
13.3.1 注冊資源集558
13.3.2 生成資源集文件559
13.3.3 在模板中加載資源集559
13.4 本章小結562
第14章 部署上線563
14.1 傳統部署VS云部署563
14.2 基本部署流程564
14.3 部署前的準備566
14.3.1 更新程序配置566
14.3.2 創建生產環境專用的程序
實例567
14.3.3 設置遷移工具568
14.3.4 程序日志568
14.3.5 手動導入環境變量572
14.3.6 HTTPS轉發572
14.4 部署到Linux服務器573
14.4.1 使用OpenSSH登錄遠程主機573
14.4.2 安裝基本庫和工具574
14.4.3 安全防護措施575
14.4.4 推送代碼并初始化程序環境578
14.4.5 使用Gunicorn運行程序579
14.4.6 使用Nginx提供反向代理580
14.4.7 使用Supervisor管理進程584
14.4.8 更新部署后的程序586
14.5 部署到PythonAnywhere587
14.5.1 反向代理設置587
14.5.2 創建PythonAnywhere程序588
14.5.3 推送代碼并初始化程序環境588
14.5.4 創建數據庫590
14.5.5 設置虛擬環境591
14.5.6 靜態文件592
14.5.7 運行和更新程序592
14.6 部署到Heroku594
14.6.1 通過Heroku Git部署595
14.6.2 使用GitHub部署601
14.7 下一步做什么?603
14.8 本章小結604
第15章 Flask擴展開發605
15.1 擴展的命名606
15.2 擴展項目骨架606
15.3 編寫擴展類608
15.4 添加擴展配置610
15.5 實現擴展功能610
15.5.1 加載靜態資源611
15.5.2 創建分享組件612
15.5.3 在移動設備上隱藏613
15.6 開源發布前的準備614
15.6.1 添加文檔字符串與注釋614
15.6.2 編寫README與文檔615
15.6.3 為打包做準備616
15.6.4 編寫示例程序621
15.6.5 編寫單元測試621
15.7 發布到PyPI622
15.7.1 創建PyPI賬號623
15.7.2 使用setuptools打包623
15.7.3 使用twine上傳625
15.8 編寫良好的擴展625
15.9 本章小結627
第16章 Flask工作原理與機制解析628
16.1 閱讀Flask源碼628
16.1.1 獲取Flask源碼628
16.1.2 如何閱讀源碼629
16.1.3 Flask發行版本分析637
16.2 Flask的設計理念638
16.2.1 “微”框架638
16.2.2 兩個核心依賴638
16.2.3 顯式程序對象638
16.2.4 本地上下文639
16.2.5 三種程序狀態640
16.2.6 豐富的自定義支持641
16.3 Flask與WSGI641
16.3.1 WSGI程序642
16.3.2 WSGI服務器643
16.3.3 中間件644
16.4 Flask的工作流程與機制646
16.4.1 Flask中的請求響應循環646
16.4.2 路由系統649
16.4.3 本地上下文653
16.4.4 請求與響應對象665
16.4.5 session667
16.4.6 藍本674
16.4.7 模板渲染677
16.5 本章小結680
附錄A Flask資源681
序: