日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服
Python高效開發(fā)實戰(zhàn):Django、Tornado、Flask、Twisted圖書
人氣:40

Python高效開發(fā)實戰(zhàn):Django、Tornado、Flask、Twisted

四種主流的Python Web開發(fā)框架,零基礎(chǔ)完成網(wǎng)站搭建、數(shù)據(jù)庫設計、前后端開發(fā),多方位領(lǐng)悟Python原理與應用

內(nèi)容簡介

也許你聽說過全棧工程師,他們善于設計系統(tǒng)架構(gòu),精通數(shù)據(jù)庫建模、通用網(wǎng)絡協(xié)議、后端并發(fā)處理、前端界面設計,在學術(shù)研究或工程項目上能獨當一面。通過對Python及其周邊Web框架的學習和實踐,你就可以成為這樣的全能型人才。本書分為3部分:第1部分是基礎(chǔ)篇,帶領(lǐng)初學者實踐Python開發(fā)環(huán)境和掌握基本語法,同時對網(wǎng)絡協(xié)議、Web客戶端技術(shù)、數(shù)據(jù)庫建模編程等網(wǎng)絡編程基礎(chǔ)深入淺出地進行學習;第2部分是框架篇,學習當前流行的Python Web框架,即Django、Tornado、Flask和Twisted,達到對各種Python網(wǎng)絡技術(shù)融會貫通的目的;第3部分是實戰(zhàn)篇,分別對4種框架進行項目實踐,利用其各自的特點開發(fā)適用于不同場景的網(wǎng)絡程序。本書內(nèi)容精練、重點突出、實例豐富、講解通俗,是廣大網(wǎng)絡應用設計和開發(fā)人員不可多得的一本參考書,同時非常適合大中專院校師生學習和閱讀,也可作為高等院校計算機及相關(guān)培訓機構(gòu)的教材。

編輯推薦

一本書掌握Python基礎(chǔ)及高效實踐方法 全新Python框架版本的應用實踐指南

目錄

第1篇 打好Python基礎(chǔ)

第1章 Python基礎(chǔ)知識 2

1.1 Python綜述 3

1.1.1 了解Python的特性及版本 3

1.1.2 安裝Python 5

1.1.3 使用Python原生編輯器 7

1.1.4 使用Eclipse開發(fā)環(huán)境 9

1.1.5 Python編程入門——解決“斐波那契數(shù)列”問題 14

1.2 數(shù)據(jù)類型 16

1.2.1 Number類型 17

1.2.2 Sequence類型簇 20

1.2.3 String類型 22

1.2.4 Tuple類型 28

1.2.5 List類型 29

1.2.6 Set類型 30

1.2.7 Dictionary類型 33

1.3 流程控制 35

1.3.1 程序塊與作用域 35

1.3.2 判斷語句 36

1.3.3 循環(huán)語句 38

1.3.4 語句嵌套 41

1.4 函數(shù) 42

1.4.1 定義與使用 42

1.4.2 變長參數(shù) 44

1.4.3 匿名函數(shù) 46

1.5 異常 48

1.5.1 處理異常 48

1.5.2 自定義異常 50

1.6 面向?qū)ο缶幊?51

1.6.1 什么是面向?qū)ο?52

1.6.2 類和對象 53

1.6.3 繼承 61

1.7 本章總結(jié) 64

第2章 Web編程之網(wǎng)絡基礎(chǔ) 65

2.1 TCP/IP網(wǎng)絡 66

2.1.1 計算機網(wǎng)絡綜述 66

2.1.2 TCP和UDP 70

2.1.3 C/S及B/S架構(gòu) 73

2.2 HTTP 74

2.2.1 HTTP流程 75

2.2.2 HTTP消息結(jié)構(gòu) 76

2.2.3 HTTP請求方法 80

2.2.4 基于HTTP的網(wǎng)站開發(fā) 80

2.3 Socket編程 82

2.3.1 Socket基礎(chǔ) 82

2.3.2 實戰(zhàn)演練:Socket TCP原語 83

2.3.3 實戰(zhàn)演練:Socket UDP原語 87

2.4 本章總結(jié) 88

第3章 客戶端的編程技術(shù) 89

3.1 HTML 90

3.1.1 HTML介紹 90

3.1.2 HTML基本標簽 93

3.1.3 HTML表單 99

3.2 CSS 102

3.2.1 樣式聲明方式 103

3.2.2 CSS語法 104

3.2.3 基于CSS DIV的頁面布局 106

3.3 JavaScript 108

3.3.1 在HTML中嵌入JavaScript 108

3.3.2 JavaScript的基本語法 109

3.3.3 DOM及其讀寫 115

3.3.4 window對象 118

3.3.5 HTML事件處理 121

3.4 jQuery 124

3.4.1 使用jQuery 124

3.4.2 選擇器 125

3.4.3 行為 126

3.5 本章總結(jié) 130

第4章 數(shù)據(jù)庫及ORM 131

4.1 數(shù)據(jù)庫概念 131

4.1.1 Web開發(fā)中的數(shù)據(jù)庫 132

4.1.2 關(guān)系數(shù)據(jù)庫建模 134

4.2 關(guān)系數(shù)據(jù)庫編程 137

4.2.1 常用SQL語句 137

4.2.2 實戰(zhàn)演練:在Python中應用SQL 143

4.3 ORM編程 145

4.3.1 ORM理論基礎(chǔ) 145

4.3.2 Python ORM庫介紹 147

4.3.3 實戰(zhàn)演練:Peewee庫編程 148

4.4 本章總結(jié) 151

第2篇 詳解主流Python Web框架

第5章 Python網(wǎng)絡框架縱覽 154

5.1 網(wǎng)絡框架綜述 155

5.1.1 網(wǎng)絡框架及MVC架構(gòu) 155

5.1.2 4種Python網(wǎng)絡框架:Django、Tornado、Flask、Twisted 156

5.2 開發(fā)環(huán)境準備 157

5.2.1 使用Python虛環(huán)境 157

5.2.2 Windows環(huán)境下的安裝 159

5.2.3 Linux環(huán)境下的安裝 162

5.2.4 easy_install與pip的使用 163

5.3 Web服務器 165

5.3.1 實戰(zhàn)演練1:WSGI接口 165

5.3.2 實戰(zhàn)演練2:Linux Nginx uWSGI配置 166

5.3.3 實戰(zhàn)演練3:建立安全的HTTPS網(wǎng)站 172

5.4 本章總結(jié) 174

第6章 企業(yè)級開發(fā)框架——Django 175

6.1 Django綜述 176

6.1.1 Django的特點及結(jié)構(gòu) 176

6.1.2 安裝Django 177

6.2 實戰(zhàn)演練:開發(fā)Django站點 177

6.2.1 建立項目 177

6.2.2 建立應用 178

6.2.3 基本視圖 179

6.2.4 內(nèi)置Web服務器 181

6.2.5 模型類 182

6.2.6 表單視圖 185

6.2.7 使用管理界面 188

6.3 Django模型層 190

6.3.1 基本操作 190

6.3.2 關(guān)系操作 198

6.3.3 面向?qū)ο驩RM 202

6.4 Django視圖層 205

6.4.1 URL映射 205

6.4.2 視圖函數(shù) 211

6.4.3 模板語法 213

6.5 使用Django表單 218

6.5.1 表單綁定狀態(tài) 219

6.5.2 表單數(shù)據(jù)驗證 219

6.5.3 檢查變更字段 222

6.6 個性化管理員站點 222

6.6.1 模型 222

6.6.2 模板 225

6.6.3 站點 227

6.7 本章總結(jié) 229

第7章 高并發(fā)處理框架——Tornado 230

7.1 Tornado概述 231

7.1.1 Tornado介紹 231

7.1.2 安裝Tornado 232

7.2 異步及協(xié)程基礎(chǔ) 232

7.2.1 同步與異步I/O 233

7.2.2 Python關(guān)鍵字yield 234

7.2.3 協(xié)程 236

7.3 實戰(zhàn)演練:開發(fā)Tornado網(wǎng)站 239

7.3.1 網(wǎng)站結(jié)構(gòu) 240

7.3.2 路由解析 241

7.3.3 RequestHandler 242

7.3.4 異步化及協(xié)程化 248

7.4 用戶身份驗證框架 250

7.4.1 安全Cookie機制 250

7.4.2 用戶身份認證 252

7.4.3 防止跨站攻擊 254

7.5 HTML5 WebSocket概念及應用 256

7.5.1 WebSocket概念 256

7.5.2 服務端編程 259

7.5.3 客戶端編程 261

7.6 Tornado網(wǎng)站部署 263

7.6.1 調(diào)試模式 264

7.6.2 靜態(tài)文件 265

7.6.3 運營期配置 267

7.7 本章總結(jié) 269

第8章 支持快速建站的框架——Flask 270

8.1 Flask綜述 271

8.1.1 Flask的特點 271

8.1.2 在Windows中的安裝 272

8.1.3 在Linux及Mac中的安裝 274

8.2 實戰(zhàn)演練:開發(fā)Flask站點 276

8.2.1 Hello World程序 276

8.2.2 模板渲染 278

8.2.3 重定向和錯誤處理 280

8.3 路由詳解 281

8.3.1 帶變量的路由 281

8.3.2 HTTP方法綁定 283

8.3.3 路由地址反向生成 284

8.4 使用Context上下文 285

8.4.1 會話上下文 286

8.4.2 應用全局對象 287

8.4.3 請求上下文 289

8.4.4 回調(diào)接入點 291

8.5 Jinja2模板編程 292

8.5.1 Jinja2語法 293

8.5.2 使用過濾器 294

8.5.3 流程控制 297

8.5.4 模板繼承 300

8.6 SQLAlchemy數(shù)據(jù)庫編程 303

8.6.1 SQLAlchemy入門 303

8.6.2 主流數(shù)據(jù)庫的連接方式 307

8.6.3 查詢條件設置 308

8.6.4 關(guān)系操作 311

8.6.5 級聯(lián) 315

8.7 WTForm表單編程 321

8.7.1 定義表單 321

8.7.2 顯示表單 322

8.7.3 獲取表單數(shù)據(jù) 324

8.8 本章總結(jié) 326

第9章 底層自定義協(xié)議網(wǎng)絡框架——Twisted 327

9.1 Twisted綜述 328

9.1.1 框架概況 328

9.1.2 安裝Twisted及周邊組件 328

9.2 實戰(zhàn)演練:開發(fā)TCP廣播系統(tǒng) 330

9.2.1 廣播服務器 330

9.2.2 廣播客戶端 332

9.3 UDP編程技術(shù) 335

9.3.1 實戰(zhàn)演練1:普通UDP 335

9.3.2 實戰(zhàn)演練2:Connected UDP 338

9.3.3 實戰(zhàn)演練3:組播技術(shù) 340

9.4 Twisted高級話題 341

9.4.1 延遲調(diào)用 341

9.4.2 使用多線程 347

9.4.3 安全信道 349

9.5 本章總結(jié) 352

第3篇 實戰(zhàn)項目

第10章 實戰(zhàn)1:用Django PostgreSQL開發(fā)移動Twitter 354

10.1 項目概覽 355

10.1.1 項目來源(GitHub) 355

10.1.2 安裝PostgreSQL數(shù)據(jù)庫并配置Python環(huán)境 356

10.1.3 項目結(jié)構(gòu) 358

10.2 頁面框架設計 360

10.2.1 基模板文件 360

10.2.2 手機大小自適應(jQuery技術(shù)) 363

10.2.3 文本國際化 364

10.2.4 網(wǎng)站頁面一覽 367

10.3 用戶注冊及登錄 368

10.3.1 頁面設計 368

10.3.2 模型層 370

10.3.3 視圖設計 371

10.4 手機消息的和瀏覽 376

10.4.1 頁面設計 376

10.4.2 模型層 381

10.4.3 視圖設計 382

10.5 社交朋友圈 385

10.5.1 頁面設計 385

10.5.2 模型層 387

10.5.3 視圖設計 388

10.6 個人資料配置 392

10.6.1 頁面設計 392

10.6.2 圖片上傳(第三方庫PIL) 394

10.7 Web管理站點 397

10.7.1 定義可管理對象 397

10.7.2 配置管理員 398

10.7.3 使用管理站點 398

10.8 本章總結(jié) 400

第11章 實戰(zhàn)2:用Tornado jQuery開發(fā)WebSocket聊天室 401

11.1 聊天室概覽 402

11.1.1 項目介紹 402

11.1.2 安裝和代碼結(jié)構(gòu) 403

11.2 消息通信 404

11.2.1 建立網(wǎng)站 404

11.2.2 WebSocket服務器 407

11.2.3 WebSocket客戶端 408

11.3 聊天功能 411

11.3.1 昵稱 411

11.3.2 消息來源 413

11.3.3 歷史消息緩存 415

11.4 用戶面板 416

11.4.1 用CSS定義用戶列表 416

11.4.2 服務器通知 418

11.4.3 響應服務器動態(tài)通知(jQuery動態(tài)編程) 419

11.5 本章總結(jié) 420

第12章 實戰(zhàn)3:用Flask Bootstrap Restful開發(fā)學校管理系統(tǒng) 421

12.1 系統(tǒng)概覽 422

12.1.1 來源及功能 422

12.1.2 項目安裝 423

12.1.3 代碼結(jié)構(gòu) 425

12.2 數(shù)據(jù)模型設計 427

12.2.1 E-R圖設計 427

12.2.2 SQLAlchemy建模 429

12.3 響應式頁面框架設計 435

12.3.1 基模板組件引用 435

12.3.2 響應式導航 439

12.4 新建學校 441

12.4.1 WTForm表單 441

12.4.2 視圖及文件上傳 443

12.4.3 響應式布局 445

12.5 學校管理 447

12.5.1 查詢視圖 447

12.5.2 分頁模板 450

12.6 Restful接口 453

12.6.1 Restful概念 453

12.6.2 Restless插件 454

12.6.3 開發(fā)Restful接口 457

12.7 本章總結(jié) 461

第13章 實戰(zhàn)4:用Twisted SQLAlchemy ZeroMQ開發(fā)跨平臺物聯(lián)網(wǎng)消息網(wǎng)關(guān) 463

13.1 項目概況 464

13.1.1 功能定義 464

13.1.2 安裝和測試 465

13.1.3 項目結(jié)構(gòu) 468

13.2 項目設計 469

13.2.1 SQLAlchmey建模 469

13.2.2 TCP接口設計 474

13.3 通信引擎 476

13.3.1 跨平臺安全端口 477

13.3.2 管理連接 478

13.3.3 收發(fā)數(shù)據(jù) 479

13.3.4 TCP流式分包 482

13.3.5 異步執(zhí)行 484

13.4 協(xié)議編程 486

13.4.1 執(zhí)行命令 486

13.4.2 struct解析字節(jié)流 489

13.4.3 序列號生成 490

13.4.4 連接保持 491

13.4.5 發(fā)送Response 492

13.4.6 錯誤機制 494

13.5 ZeroMQ集群 496

在線預覽

5.1 網(wǎng)絡框架綜述本節(jié)學習Python網(wǎng)絡框架的概念和開發(fā)方法,然后了解Web經(jīng)典架構(gòu)MVC的原理和作用。

網(wǎng)絡框架及MVC架構(gòu)所謂網(wǎng)絡框架是指這樣的一組Python包,它能夠使開發(fā)者專注于網(wǎng)站應用業(yè)務邏輯的開發(fā),而無須處理網(wǎng)絡應用底層的協(xié)議、線程、進程等方面。這樣能大大提高開發(fā)者的工作效率,同時提高網(wǎng)絡應用程序的質(zhì)量。在目前Python語言的幾十個開發(fā)框架中,幾乎所有的全棧網(wǎng)絡框架都強制或引導開發(fā)者使用MVC架構(gòu)開發(fā)Web應用。所謂全棧網(wǎng)絡框架,是指除了封裝網(wǎng)絡和線程操作,還提供HTTP棧、數(shù)據(jù)庫讀寫管理、HTML模板引擎等一系列功能的網(wǎng)絡框架。本書重點講解的Django、Tornado和Flask是全棧網(wǎng)絡框架的典型標桿;而Twisted更專注于網(wǎng)絡底層的高性能封裝而不提供HTML模板引擎等界面功能,所以不能稱之為全棧框架。

MVC(Model-View-Controller)模式最早由Trygve Reenskaug在1978年提出,在20世紀80年代是程序語言Smalltalk的一種內(nèi)部架構(gòu)。后來MVC被其他語言所借鑒,成為了軟件工程中的一種軟件架構(gòu)模式。MVC把Web應用系統(tǒng)分為3個基本部分。? 模型(Model):用于封裝與應用程序的業(yè)務邏輯相關(guān)的數(shù)據(jù)及對數(shù)據(jù)的處理方法,是Web應用程序中用于處理應用程序的數(shù)據(jù)邏輯的部分,Model只提供功能性的接口,通過這些接口可以獲取Model的所有功能。Model不依賴于View和Controller,它們可以在任何時候調(diào)用Model訪問數(shù)據(jù)。有些Model還提供了事件通知機制,為在其上注冊過的View或Controller提供實時的數(shù)據(jù)更新。

視圖(View):負責數(shù)據(jù)的顯示和呈現(xiàn),View是對用戶的直接輸出。MVC中的一個Model通常為多個View提供服務。為了獲取Model的實時更新數(shù)據(jù),View應該盡早地注冊到Model中。? 控制器(Controller):負責從用戶端收集用戶的輸入,可以看成提供View的反向功能。當用戶的輸入導致View發(fā)生變化時,這種變化必須是通過Model反映給View的。在MVC架構(gòu)下,Controller一般不能與View直接通信,這樣提高了業(yè)務數(shù)據(jù)的一致性,即以Model作為數(shù)據(jù)中心。這3個基本部分互相分離,使得在改進和升級界面及用戶交互流程時,不需要重寫業(yè)務邏輯及數(shù)據(jù)訪問代碼。MVC架構(gòu)如圖5.1所示。 圖5.1 MVC架構(gòu)圖注意:MVC在除Python外的其他語言中也有廣泛應用,例如VC 的MFC、Java的Structs及Spring、C#的.NET開發(fā)框架,讀者應該有深刻的體會。

5.1 網(wǎng)絡框架綜述本節(jié)學習Python網(wǎng)絡框架的概念和開發(fā)方法,然后了解Web經(jīng)典架構(gòu)MVC的原理和作用。

網(wǎng)絡框架及MVC架構(gòu)所謂網(wǎng)絡框架是指這樣的一組Python包,它能夠使開發(fā)者專注于網(wǎng)站應用業(yè)務邏輯的開發(fā),而無須處理網(wǎng)絡應用底層的協(xié)議、線程、進程等方面。這樣能大大提高開發(fā)者的工作效率,同時提高網(wǎng)絡應用程序的質(zhì)量。在目前Python語言的幾十個開發(fā)框架中,幾乎所有的全棧網(wǎng)絡框架都強制或引導開發(fā)者使用MVC架構(gòu)開發(fā)Web應用。所謂全棧網(wǎng)絡框架,是指除了封裝網(wǎng)絡和線程操作,還提供HTTP棧、數(shù)據(jù)庫讀寫管理、HTML模板引擎等一系列功能的網(wǎng)絡框架。本書重點講解的Django、Tornado和Flask是全棧網(wǎng)絡框架的典型標桿;而Twisted更專注于網(wǎng)絡底層的高性能封裝而不提供HTML模板引擎等界面功能,所以不能稱之為全棧框架。

網(wǎng)友評論(不代表本站觀點)

來自無昵稱**的評論:

挺好的,拿來了解一些其它web框架

2016-11-16 22:32:09
來自神州君**的評論:

python高效實戰(zhàn)開發(fā)

2016-11-22 07:48:20
來自communi**的評論:

整體感覺不錯

2016-11-26 17:14:52
來自無昵稱**的評論:

精美

2016-11-29 23:46:19
來自陳志恒**的評論:

很好

2016-12-02 20:46:34
來自無昵稱**的評論:

不錯

2016-12-05 22:32:16
來自無昵稱**的評論:

下次還來買

2016-12-21 20:04:11
來自匿名用**的評論:

昨天訂的書,第二天就到了,便宜很多,而且很方便的,上回也買一本,也是第二天到的,節(jié)省很多時間的,以后會常來……

2017-02-08 23:18:07
來自小***啊**的評論:

這本書可以

2017-02-15 16:24:02
來自a***q(**的評論:

不錯不錯不錯

2017-02-25 18:20:42
來自匿名用**的評論:

商品已收到,期待

2017-03-07 10:20:13
來自匿名用**的評論:

web框架 很厚的一本書

2017-04-25 11:22:23
來自匿名用**的評論:

屯了好多書,慢慢看了

2017-04-26 06:48:42
來自**(匿名**的評論:

正在看,感覺需要一定的基礎(chǔ)

2017-04-30 23:08:17
來自匿名用**的評論:

很不錯,謝謝

2017-05-08 14:48:48
來自a***4(**的評論:

看起來挺不錯的

2017-06-16 09:30:03
來自匿名用**的評論:

整體感覺不錯

2017-06-19 22:22:49
來自鴨鴨學**的評論:

用過的書嗎 折痕 扯破的地方粘了膠帶 還有黑手印 當當你賣的二手書嗎 鄙視

2017-06-22 20:17:26
來自匿名用**的評論:

質(zhì)量不錯,很值得購買

2017-07-01 00:18:18
來自匿名用**的評論:

包羅萬象 但貌似不少地方都是一帶而過

2017-09-06 10:36:15
來自無昵稱**的評論:

發(fā)貨快,服務好,好好好好

2017-10-27 12:23:30
來自無昵稱**的評論:

物流壓壞書。。。。。

2017-11-05 00:33:08
來自無昵稱**的評論:

物流太慢了五六天才到,包裝也不好,書有折損。太爛了!

2017-11-06 12:55:46
來自無昵稱**的評論:

需要警惕出版社的微博營銷,無論從內(nèi)容組織和行文上都很一般。

2016-12-07 10:31:09
來自無昵稱**的評論:

打開包裝后,書皮正面破了個洞,不知道是什么原因,連帶著書里面也有兩三頁破了

2016-12-01 17:03:05
來自北涼柿**的評論:

很好,訂單留的電話停機了,三天后才發(fā)現(xiàn),感謝快遞小哥一直給留

2017-04-29 15:21:49

免責聲明

更多出版社