注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)深入理解 Flask

深入理解 Flask

深入理解 Flask

定 價:¥79.00

作 者: (美)Jack Stouffer(杰克·史都華)
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 計算機?網(wǎng)絡(luò) 軟件工程及軟件方法學(xué)

ISBN: 9787121292316 出版時間: 2016-07-01 包裝:
開本: 16開 頁數(shù): 256 字?jǐn)?shù):  

內(nèi)容簡介

  Flask是在Python用戶中為流行的Web開發(fā)框架。本書從一個簡單的Flask項目入手,由淺入深地探討了一系列實戰(zhàn)問題,包括如何使用SQLAlchemy和Jinja等工具進行Web開發(fā);如何正確地設(shè)計擴展性強的Flask應(yīng)用架構(gòu)和搭建MVC環(huán)境;對于各種NoSQL數(shù)據(jù)庫的特性,何時應(yīng)該、何時不應(yīng)該及如何使用它們;通過使用Flask擴展快速實現(xiàn)用戶的身份系統(tǒng)、RESTful API、NoSQL查詢、后臺管理等功能;如何創(chuàng)建自己的擴展;使用Celery編寫異步任務(wù),使用py.test進行單元測試等;*后介紹了如何部署上線,包括使用自己搭建的服務(wù)器或使用各種云服務(wù),以及如何權(quán)衡和選擇這些不同的解決方案。

作者簡介

  譯者蘇丹,來自山城重慶,畢業(yè)于北京師范大學(xué);現(xiàn)豆瓣資深開發(fā)工程師,主要開發(fā)作品有豆瓣FM等;有多年P(guān)ython編程實踐經(jīng)驗;曾參與《Learning Android中文版》一書翻譯。 Jack Stouffer是一位有數(shù)年web應(yīng)用開發(fā)經(jīng)驗的程序員。他在兩年前將他所有的項目都切換到了Flask。他目前在位于密歇根州奧本山的Apollo America工作,使用Python、Flask和JavaScript編寫企業(yè)內(nèi)部業(yè)務(wù)工具。Jack是開源技術(shù)的信徒與支持者,在GitHub上發(fā)布以他所推薦的*佳實踐原則編寫的Flask范例時,立即成為了線上*受歡迎的Flask代碼庫。Jack還曾經(jīng)擔(dān)任Packt Publishing的《Flask Framework Cookbook》一書的審稿人。

圖書目錄

第1章 入門 1
使用Git進行版本控制 1
安裝Git 1
Git基礎(chǔ) 2
使用pip管理Python包 4
在Windows上安裝pip 4
在Mac OS X和Linux上安裝Python包管理器pip 5
pip基本操作 6
用virtualenv的沙盒管理依賴 7
virtualenv基礎(chǔ) 7
開始我們的項目 8
使用Flask Script 9
總結(jié) 10
第2章 使用SQLAlchemy創(chuàng)建數(shù)據(jù)模型 11
設(shè)置SQLAlchemy 11
Python安裝包 12
Flask SQLAlchemy 12
我們的第1個數(shù)據(jù)模型 13
創(chuàng)建user表 15

CRUD 16
新增數(shù)據(jù) 16
讀取數(shù)據(jù) 16
修改數(shù)據(jù) 19
刪除數(shù)據(jù) 19
數(shù)據(jù)模型之間的關(guān)聯(lián) 20
一對多 20
多對多 23
SQLAlchemy會話對象的方便之處 25
使用Alembic進行數(shù)據(jù)庫遷移 26
總結(jié) 28
第3章 通過模板創(chuàng)建視圖 29
Jinja的語法 29
過濾器 30
注釋 34
if語句 34
循環(huán) 35
宏 36
Flask特有的變量和函數(shù) 37
創(chuàng)建視圖 38
視圖函數(shù) 38
編寫和繼承模板 41
Flask WTForms 45
WTForms基礎(chǔ) 46
自定義檢驗器 48
發(fā)布評論 48
總結(jié) 51
第4章 使用藍圖創(chuàng)建控制器 52
請求的構(gòu)建和銷毀,以及全局變量 52
錯誤頁面 53
使用類描述視圖 53
方法視圖 55
藍圖 55
總結(jié) 57
第5章 進階的應(yīng)用結(jié)構(gòu) 58
模塊項目 58
重構(gòu)代碼 59
應(yīng)用的工廠模式 62
總結(jié) 64
第6章 保護應(yīng)用安全 65
準(zhǔn)備工作 65
修改用戶模型 65
創(chuàng)建表單 67
創(chuàng)建視圖 71
社交網(wǎng)絡(luò)登錄 76
使用會話 84
使用Flask Login 87
用戶角色 90
總結(jié) 95
第7章 在Flask中使用NoSQL數(shù)據(jù)庫 96
NoSQL數(shù)據(jù)庫的種類 96
鍵值數(shù)據(jù)庫 97
文檔數(shù)據(jù)庫 97
列式數(shù)據(jù)庫 98
基于圖的數(shù)據(jù)庫 100
關(guān)系型數(shù)據(jù)庫與NoSQL的比較 101
關(guān)系型數(shù)據(jù)庫的優(yōu)勢 102
NoSQL數(shù)據(jù)庫的優(yōu)勢 103
在什么情況下用什么數(shù)據(jù)庫 104
在Flask中使用MongoDB 105
安裝MongoDB 106
配置MongoEngine 106
定義文檔 107
CRUD 112
NoSQL中的關(guān)聯(lián)關(guān)系 117
利用NoSQL的強大能力 120
總結(jié) 126
第8章 構(gòu)建RESTful API 127
REST是什么 127
構(gòu)建RESTful Flask API 130
GET請求 131
格式化輸出 132
請求中的參數(shù) 135

POST請求 138
身份認(rèn)證 140
PUT請求 143
DELETE請求 146
總結(jié) 147
第9章 使用Celery編寫異步任務(wù) 148
Celery是什么 148
配置Celery和RabbitMQ 150
在Celery中創(chuàng)建任務(wù) 151
運行Celery任務(wù) 154
Celery工作流 155
監(jiān)控Celery 160
在Flower中通過網(wǎng)頁進行監(jiān)控 161
創(chuàng)建一個提醒應(yīng)用 161
生成每周摘要 163
總結(jié) 167
第10章 有用的Flask擴展 168
Flask Script 168
Flask Debug Toolbar 170
Flask Cache 173
緩存函數(shù)和視圖 174
緩存帶參數(shù)的函數(shù) 175
緩存帶有查詢參數(shù)的路徑 177
使用Redis作為緩存后端 177
使用memcached 作為緩存后端 178
Flask Assets 178
Flask Admin 181
編寫基礎(chǔ)管理頁面 182
編寫數(shù)據(jù)庫管理頁面 184
增強文章管理功能 185
編寫文件系統(tǒng)管理頁面 187
保護Flask Admin的安全 188
Flask Mail 189
總結(jié) 190
第11章 構(gòu)建你自己的擴展 192
編寫一個YouTube Flask擴展 192
創(chuàng)建Python包 196
通過Flask擴展修改響應(yīng)數(shù)據(jù) 198
總結(jié) 200
第12章 測試Flask應(yīng)用 201
什么是單元測試 201
怎樣進行測試 202
對應(yīng)用進行單元測試 202
測試路由函數(shù) 203
用戶界面測試 208
測試覆蓋率 213
測試驅(qū)動的開發(fā) 216
總結(jié) 218
第13章 部署Flask應(yīng)用 219
部署在你自己的服務(wù)器上 219
使用fabric把代碼推送到服務(wù)器 220
使用supervisor運行你的Web服務(wù)器 222
Gevent 224
Tornado 225
Nginx和uWSGI 226
Apache和uWSGI 229
部署在Heroku上 230
使用Heroku Postgres 231
在Heroku中使用Celery 232
在AWS上部署應(yīng)用 233
在Amazon Elastic Beanstalk上使用Flask 233
使用Amazon Relational Database Service 235
在Amazon Simple Queue Service中使用Celery 236
總結(jié) 237

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號