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