TOP
月月讀書金,登入即領,滿600現折50!!
Python高效開發實戰:Django、Tornado、Flask、Twisted(第3版)(簡體書)
滿額折

Python高效開發實戰:Django、Tornado、Flask、Twisted(第3版)(簡體書)

商品資訊

人民幣定價:108 元
定價
:NT$ 648 元
優惠價
87564
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點 :16 點
商品簡介
作者簡介
名人推薦
目次

商品簡介

也許你聽說過全棧工程師,他們善於設計系統架構,精通資料庫建模、通用網絡通訊協定、後端併發處理、前端接口設計,在學術研究或工程項目中能獨當一面。通過對Python 3及相關Web框架的學習和實踐,你就可以成為這樣的全能型人才。

本書分為3篇:上篇是Python基礎,帶領初學者實踐Python開發環境,掌握基本語法,同時對網絡通訊協定、Web用戶端技術、資料庫建模等網絡程序設計基礎進行深入淺出的學習;中篇是Python框架,學習當前***的Python Web框架,即Django、Tornado、Flask和Twisted,達到對各種Python網絡技術融會貫通的目的;下篇是Python框架實戰,分別使用4種框架進行項目實踐,利用其各自的特點開發適用於不同場景的網絡程式。本書內容精練、重點突出、實例豐富、講解通俗,是廣大網絡應用設計和開發人員不可多得的一本參考書。

本書非常適合大中專院校師生學習和閱讀,也可作為計算機培訓機構的教材。

作者簡介

劉長龍

――寫作和程序設計都是在創作新的自己

復旦大學信息管理學士學位、上海交通大學計算機技術碩士學位,從事計算機軟件研發十餘年。對應用軟件發展有較廣泛深入瞭解,用C++、Python等技術主持負責過電信級實時計費系統、客戶管理系統、智能家居、物聯網雲平臺的研究和設計開發工作。在不寫作的時候,業餘時間喜歡跑步和遊泳。

名人推薦

★暢銷書Python Web程序設計集大成之作,全面升級

★Python 3.8、Django 3、Tornado 6、Flask 1.1.2、Twisted 20

★作者多年Python項目實踐經驗及代碼編寫技巧分享

★助你零基礎完成網站搭建、資料庫設計、前後端開發

★中小示例、項目案例,一個都不少,送大量代碼

★代碼可直接複製使用,支援Linux+Windows環境

★讓你對不同網絡應用場景的設計和開發都能得心應手

★提高開發效率,學得懂,練得會,難得的全能型工具書


前 言


有些人想學Python,卻不知如何下手;有些人已經學會Python的基本語法,卻不知如何使用Python進行網站設計和開發;有些人實踐過個別Python網絡框架,卻因為Python框架過多而無法融會貫通。本書就是為他們準備的一本指南。正所謂知識來源於實踐,本書嚴格遵守這一原則,對每個知識點都進行了示例分析,並在Python框架實戰篇精選了4個不同應用場景的網絡項目,説明讀者真正掌握和運用Python 3及其相關框架。


改版說明

相較於第2版,本版有如下改進。


(1)基於Python 3.8版本。


(2)四大框架的版本更新。


l Django修訂為基於Python 3的Django 3。


l Tornado修訂為基於Python 3的Tornado 6。


l Flask修訂為基於Python 3的Flask 1.1.2。


l Twisted修訂為基於Python 3的Twisted 20。


(3)根據前兩版的讀者回饋,修訂了一些印刷錯誤和描述有歧義的地方。有些讀者回饋說本書的項目案例都在Linux環境下,為此這次修訂增加了一些Windows環境下運行程式的提示。


(4)書中對Python 2與Python 3的關聯與不同都做了說明,零基礎的讀者閱讀後可以同時具備這兩種Python版本的程序設計能力和代碼閱讀能力。


(5)對描述中的一些語法相關的單詞,規範了英文大小寫,與代碼中的大小寫保持一致。


為什麼要讀這本書

如果你不知道本書能否幫到你,或者你不知道是否要選擇本書,那麼請先想想在平時的學習或工作中是否遇到過下列問題:


l 有一個很好的設計網站的想法,想用Python實現卻無從下手;


l 剛學習了程序設計語言的if、for、while等各種語法,卻不知道利用程序設計語言到底能做些什麼;


l 精通C、C++等後臺程序設計語言,卻跟不上互聯網蓬勃發展的新技術;


l 學了美工畫圖、網頁設計,卻不懂資料庫和網站搭建;


l 覺得Django、Tornado、Flask、Twisted框架的在線資料過於晦澀難懂;


l 知道各種Python Web框架,卻不知道自己的項目適合哪一種;


l 學過W3CSchool中的Python課程,卻不知道如何使用Python框架提高開發效率;


l 會開發網站程式,卻不知道如何集成Nginx等Web服務器;


l 聽說過SSL,讓自己的網站支持HTTPS/SSL卻力不從心;


l 學過網絡程序設計,卻還是不知道IPv6和IPv4的區別;


l 會網絡資料庫開發,卻搞不清楚PostgreSQL、SQLite、Oracle、MySQL、SQL Server之間的區別;


l 不知道網絡流量大的網站使用什麼框架開發最好。


如果以上問題中有些是你困惑的,那麼本書也許能幫到你;如果通過學習本書能幫你解決實際問題,那麼筆者也就實現了寫作本書的目標。


本書的編寫特點

1.零基礎要求


在學習本書之前不需要具備任何計算機專業背景,任何有志於Python及Web網站設計的讀者都能利用本書從頭學起。本書在基礎和實踐部分都有大量實例,代碼精練,緊扣所講要點,以加深讀者的印象;同時,結合筆者多年使用Python語言的開發經驗,闡述了很多代碼編寫技巧,讀者可將代碼複製到自己的機器上進行實踐和演練。


2.合理的章節安排


本書首先講解了Python程序設計語言基礎、網絡和資料庫基礎、前端頁面基礎等,然後詳細講解了Django、Tornado、Flask、Twisted這四大主流的Python Web開發框架,最後通過項目實踐幫助讀者綜合運用之前學到的知識。


3.最新的框架版本


主流Python Web框架都是開源軟件,並且仍隨著計算機軟硬體的進步不斷發展,所以使用Python Web框架的開發者必須緊跟最新的框架版本!本書講解的4個Python Web框架都使用基於Python 3的最新版本,讀者能馬上將其運用在當前開發環境中。這是一本內容新穎、全面的Python Web框架應用實戰教材。


4.內容全面


本書使得Python開發者不再局限於某個Web框架,一起學習這些框架有助於在學習的過程中舉一反三。讀者學完本書可以成為Python Web程序設計方面的集大成者,對不同網絡應用場景的設計和開發都能做到得心應手。


5.中小示例、項目案例,一個都不能少


根據筆者多年的項目經驗,本書將典型的示例與知識點加以整合,使讀者對每章的知識點都能整體把握。最後介紹的項目案例不僅可以讓讀者在實際應用中更加熟練地掌握前面講到的知識點,而且能讓讀者瞭解前端開發中由輪廓到細節的完整實現流程。


本書以Python Web實戰為主,所有代碼均通過了上機調試,力求讓讀者學得懂、練得會。


本書的內容安排

本書共3篇13章,內容覆蓋程序設計基礎、Web框架詳解及開發實戰。


上篇(第1~4章)打好Python基礎


系統學習Python程序設計語言,並且掌握進行網絡開發必備的網絡、資料庫設計、HTML、CSS、JavaScript等知識。本篇不僅適合新手學習,而且對有經驗的開發者同樣適用。


中篇(第5~9章)詳解主流Python Web框架


詳細講述Django、Tornado、Flask、Twisted四大主流Python Web框架,在其中穿插講解了Python虛擬環境、Nginx服務器、SQLAlchemy、HTML範本、HTML 5、WebSocket等萬用群組件和技術。站在框架這個巨人的肩膀上,我們不僅可以提高開發效率,而且可以實現多人協同、風格統一。


下篇(第10~13章)實戰項目演練


分別用四大主流框架開發不同類型的網站項目,模擬場景覆蓋社交網站、聊天室、信息管理系統、物聯網消息閘道等各個方面,在其中還加入了JavaScript、CSS、jQuery、Bootstrap等前端關鍵技術的應用,使得讀者通過深入淺出的學習和實踐成為全能開發者。


本書的閱讀建議

筆者按照自身近20年的學習和開發經驗編排了本書的章節順序,因此推薦按順序從第1章學習到第13章,尤其不能遺漏Python基礎篇的內容。時間特別緊迫或者只想精通個別Python Web框架的讀者,可以在閱讀Python基礎篇後直接閱讀所需框架在其他兩篇中的相應部分內容。


本書知識點縮略圖

本書的目標讀者


l Python程序設計技術愛好者。


l Django、Tornado、Flask、Twisted項目參與者。


l 網站設計人員。


l 網站開發人員。


l Web前端開發入門者。


l 想從網頁設計拓展為後臺開發的設計者。


l 由單機軟件發展轉向Web開發的技術人員。


l 全棧開發人員。


l 大中專院校的學生及各種IT培訓學校的學生。


l 希望自己動手設計網站原型的需求分析人員。


編者推薦

本書的寫作目的是確保讀者能運用一些工具、框架、已有代碼來提高開發效率及節約人力成本,確保讀者能活學活用本書所講解的內容。通過閱讀本書,讀者能知道如何設計一個網站、如何選擇Python Web框架,以及如何使用框架快速開發應用。全書包含大量的實戰案例和開發技巧,總結了使用Python進行Web開發時的優秀實踐(Django、Tornado、Flask、Twisted、SQLAlchemy、Nginx、JavaScript、jQuery),討論了各種實際問題的解決方案,是目前市場上少有的全面介紹Python Web開發的圖書。


致謝

筆者要把本書獻給筆者的父母、岳父母、妻子和孩子,感謝他們一直鼓勵筆者,沒有他們的支持,筆者無法做到這一切;還要感謝筆者的朋友和同事,感謝他們不斷地鼓勵和幫助筆者。筆者非常幸運,能夠和這些聰明、努力的人一起工作和交流。


目次

目 錄

上篇 Python基礎
第1章 Python基礎知識 2
1.1 Python綜述 3
1.1.1 瞭解Python的特性及版本 3
1.1.2 安裝Python 5
1.1.3 使用Python原生編輯器 8
1.1.4 使用Eclipse開發環境 10
1.1.5 Python程序設計入門―解決“斐波那契數列”問題 15
1.2 資料類型 18
1.2.1 Number類型 18
1.2.2 Sequence類型 22
1.2.3 string與bytes 24
1.2.4 tuple類型 31
1.2.5 list類型 32
1.2.6 set類型 33
1.2.7 dict類型 36
1.3 流程控制 38
1.3.1 區塊與作用域 38
1.3.2 判斷語句 39
1.3.3 迴圈語句 41
1.3.4 語句嵌套 43
1.4 函數 44
1.4.1 定義與使用 44
1.4.2 變長參數 46
1.4.3 匿名函數 48
1.5 異常 50
1.5.1 處理異常 50
1.5.2 自訂異常 52
1.6 物件導向程序設計 53
1.6.1 什麼是物件導向 53
1.6.2 類和物件 55
1.6.3 繼承 62
1.7 本章總結 65
第2章 Web程序設計之網絡基礎 66
2.1 TCP/IP網絡 67
2.1.1 計算機網絡綜述 67
2.1.2 TCP和UDP 71
2.1.3 C/S及B/S架構 74
2.2 HTTP 75
2.2.1 HTTP流程 76
2.2.2 HTTP消息結構 77
2.2.3 HTTP請求方法 81
2.2.4 基於HTTP的網站開發 81
2.3 Socket程序設計 83
2.3.1 Socket基礎 83
2.3.2 實戰演練:Socket TCP原語 84
2.3.3 實戰演練:Socket UDP原語 88
2.4 本章總結 89
第3章 用戶端的程序設計技術 90
3.1 HTML 91
3.1.1 HTML介紹 91
3.1.2 HTML基本標籤 94
3.1.3 HTML表單 100
3.2 CSS 103
3.2.1 樣式聲明方式 104
3.2.2 CSS語法 105
3.2.3 基於CSS+DIV的頁面配置 107
3.3 JavaScript 109
3.3.1 在HTML中嵌入JavaScript 109
3.3.2 JavaScript的基本語法 110
3.3.3 DOM及其讀寫 115
3.3.4 window物件 119
3.3.5 HTML事件處理 122
3.4 jQuery 125
3.4.1 使用jQuery 125
3.4.2 選擇器 126
3.4.3 行為 127
3.5 本章總結 131
第4章 資料庫及ORM 132
4.1 資料庫概念 132
4.1.1 Web開發中的資料庫 133
4.1.2 關聯式資料庫建模 135
4.2 關聯式資料庫程序設計 138
4.2.1 常用SQL語句 138
4.2.2 實戰演練:在Python中應用SQL 144
4.3 ORM程序設計 146
4.3.1 ORM理論基礎 146
4.3.2 Python ORM庫介紹 148
4.3.3 實戰演練:Peewee庫程序設計 149
4.4 本章總結 152
中篇 Python框架
第5章 Python網絡框架縱覽 154
5.1 網絡框架綜述 155
5.1.1 網絡框架及MVC架構 155
5.1.2 4種Python網絡框架:Django、Tornado、Flask、Twisted 156
5.2 開發環境準備 157
5.2.1 easy_install與pip的使用 157
5.2.2 使用Python虛環境virtualenv 159
5.3 Web服務器 161
5.3.1 實戰演練1:WSGI 161
5.3.2 實戰演練2:Linux+Nginx+uWSGI配置 163
5.3.3 實戰演練3:建立安全的HTTPS網站 169
5.4 本章總結 171
第6章 企業級開發框架――Django 172
6.1 Django綜述 173
6.1.1 Django的特點及結構 173
6.1.2 安裝Django 3 174
6.2 實戰演練:開發Django網站 174
6.2.1 建立項目 174
6.2.2 建立應用 176
6.2.3 基本視圖 177
6.2.4 內置Web服務器 178
6.2.5 模型類 179
6.2.6 表單視圖 182
6.2.7 使用管理接口 186
6.3 Django模型層 187
6.3.1 基本操作 187
6.3.2 關係操作 195
6.3.3 物件導向ORM 200
6.4 Django視圖層 203
6.4.1 URL映射 203
6.4.2 視圖函數 209
6.4.3 範本語法 210
6.5 使用Django表單 216
6.5.1 表單綁定狀態 216
6.5.2 表單數據驗證 217
6.5.3 檢查變更欄位 219
6.6 個性化管理員網站 220
6.6.1 模型 220
6.6.2 範本 223
6.6.3 網站 225
6.7 本章總結 227
第7章 高併發處理框架――Tornado 228
7.1 Tornado概述 229
7.1.1 Tornado介紹 229
7.1.2 安裝Tornado 229
7.2 非同步及協程基礎 230
7.2.1 同步與非同步I/O 230
7.2.2 可反覆運算(Iterable)與反覆運算器(Iterator) 231
7.2.3 用yield定義生成器(Generator) 233
7.2.4 協程 235
7.3 實戰演練:開發Tornado網站 239
7.3.1 網站結構 239
7.3.2 路由解析 240
7.3.3 RequestHandler 242
7.3.4 非同步協程化 247
7.4 用戶身份驗證框架 248
7.4.1 安全Cookie機制 248
7.4.2 用戶身份認證 250
7.4.3 防止跨站攻擊 252
7.5 HTML 5 WebSocket的概念及應用 255
7.5.1 WebSocket的概念 255
7.5.2 服務端程序設計 257
7.5.3 用戶端程序設計 260
7.6 Tornado網站部署 262
7.6.1 調試模式 262
7.6.2 靜態檔 264
7.6.3 運營期配置 266
7.7 本章總結 268
第8章 支持快速建站的框架――Flask 269
8.1 Flask綜述 270
8.1.1 Flask的特點 270
8.1.2 安裝Flask、SQLAlchemy和WTForm 271
8.2 實戰演練:開發Flask網站 272
8.2.1 Hello World程式 272
8.2.2 範本渲染 274
8.2.3 重定向和錯誤處理 276
8.3 路由詳解 277
8.3.1 帶變數的路由 277
8.3.2 HTTP方法綁定 279
8.3.3 路由位址反向生成 280
8.4 使用上下文 282
8.4.1 會話上下文 282
8.4.2 應用全域物件 283
8.4.3 請求上下文 285
8.4.4 回檔接入點 287
8.5 Jinja2範本程序設計 289
8.5.1 Jinja2語法 289
8.5.2 使用篩檢程式 291
8.5.3 流程控制 294
8.5.4 範本繼承 297
8.6 SQLAlchemy資料庫程序設計 300
8.6.1 SQLAlchemy入門 300
8.6.2 主流資料庫的連接方式 304
8.6.3 查詢準則設置 304
8.6.4 關係操作 307
8.6.5 級聯 312
8.7 WTForm表單程序設計 318
8.7.1 定義表單 318
8.7.2 顯示表單 319
8.7.3 獲取表單數據 321
8.8 本章總結 323
第9章 底層自訂協定網絡框架――Twisted 324
9.1 Twisted綜述 325
9.1.1 框架概況 325
9.1.2 安裝Twisted及周邊組件 325
9.2 實戰演練:開發TCP廣播系統 327
9.2.1 廣播服務器 327
9.2.2 廣播用戶端 329
9.3 UDP程序設計技術 332
9.3.1 實戰演練1:普通UDP 333
9.3.2 實戰演練2:Connected UDP 336
9.3.3 實戰演練3:組播技術 337
9.4 Twisted高級話題 339
9.4.1 延遲調用 339
9.4.2 使用多執行緒 345
9.4.3 安全通道 347
9.5 本章總結 351
下篇 Python框架實戰
第10章 實戰1:用Django+PostgreSQL開發移動Twitter 354
10.1 項目概覽 355
10.1.1 項目來源(GitHub) 355
10.1.2 安裝PostgreSQL資料庫並配置Python環境 356
10.1.3 項目結構 359
10.2 頁面框架設計 361
10.2.1 基範本檔 361
10.2.2 手機大小自我調整(jQuery技術) 363
10.2.3 文本國際化 364
10.2.4 網站頁面一覽 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 模型層 388
10.5.3 視圖設計 389
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 使用管理網站 399
10.8 本章總結 400
第11章 實戰2:用Tornado+jQuery開發WebSocket聊天室 402
11.1 聊天室概覽 403
11.1.1 項目介紹 403
11.1.2 安裝和代碼結構 404
11.2 消息通信 405
11.2.1 建立網站 405
11.2.2 WebSocket服務器 408
11.2.3 WebSocket用戶端 409
11.3 聊天功能 412
11.3.1 暱稱 412
11.3.2 消息來源 414
11.3.3 歷史消息緩存 416
11.4 用戶面板 417
11.4.1 用CSS定義用戶列表 417
11.4.2 服務器通知 419
11.4.3 響應服務器動態通知(jQuery動態程序設計) 420
11.5 本章總結 421
第12章 實戰3:用Flask+Bootstrap+Restful開發學校管理系統 422
12.1 系統概覽 423
12.1.1 項目來源及功能 423
12.1.2 項目安裝 424
12.1.3 代碼結構 427
12.2 資料模型設計 429
12.2.1 E-R圖設計 429
12.2.2 SQLAlchemy建模 431
12.3 響應式頁面框架設計 437
12.3.1 基範本元件引用 437
12.3.2 響應式導航 440
12.4 新建學校 443
12.4.1 WTForm表單 443
12.4.2 視圖及文件上傳 445
12.4.3 響應式佈局 446
12.5 學校管理 449
12.5.1 查詢視圖 449
12.5.2 分頁範本 452
12.6 Restful接口 454
12.6.1 Restful概念 454
12.6.2 Restless外掛程式 455
12.6.3 開發Restful接口 459
12.7 本章總結 464
第13章 實戰4:用Twisted+SQLAlchemy+ZeroMQ開發跨平臺物聯網消息閘道 465
13.1 項目概況 466
13.1.1 功能定義 466
13.1.2 安裝和測試 467
13.1.3 項目結構 471
13.2 項目設計 472
13.2.1 SQLAlchmey建模 472
13.2.2 TCP接口設計 476
13.3 通信引擎 479
13.3.1 跨平臺安全埠 479
13.3.2 管理連接 481
13.3.3 收發資料 482
13.3.4 TCP流式分包 485
13.3.5 非同步執行 487
13.4 協議程序設計 488
13.4.1 執行命令 489
13.4.2 struct解析位元組流 491
13.4.3 序號生成 493
13.4.4 連接保持 494
13.4.5 發送Response 495
13.4.6 錯誤機制 497
13.5 ZeroMQ集群 499
13.5.1 內部接口設計 499
13.5.2 PUB/SUB通信模型程序設計 501
13.6 本章總結 502

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 564
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區