序
有些人想學Python,卻不知如何下手;有些人已經學會Python的基本語法,卻不知如何使用Python進行網站設計和開發;有些人實踐過個別Python網路框架,卻因為Python框架過多而無法融會貫通。本書就是為他們準備的一本指南。正所謂知識來自實踐,本書嚴格遵守這一原則,對每個基礎知識都進行了範例分析,並在Python框架實戰篇精選了4個不同應用場景的網路專案,幫助讀者真正掌握和運用Python 3及其相關框架。
◆ 為什麼要讀這本書
如果你不知道本書能否幫到你,或你不知道是否要選擇本書,那麼請先想想在平時的學習或工作中是否遇到過下列問題:
- 有一個很好的設計網站的想法,想用Python實現卻無從下手;
- 剛學習了程式語言的if、for、while等各種語法,卻不知道利用程式語言到底能做些什麼;
- 精通C、C++等後台程式語言,卻跟不上網際網路蓬勃發展的新技術;
- 學了美工、網頁設計,卻不懂資料庫和網站架設;
- 覺得Django、Tornado、Flask、Twisted框架的線上資料過於晦澀難懂;
- 知道各種Python Web框架,卻不知道自己的專案適合哪一種;
- 學過W3CSchool中的Python課程,卻不知道如何使用Python框架提高開發效率;
- 會開發網站程式,卻不知道如何整合Nginx等Web伺服器;
- 聽說過SSL,讓自己的網站支持HTTPS/SSL卻力不從心;
- 學過網路程式設計,卻還是不知道IPv6和IPv4的區別;
- 會網路資料庫開發,卻搞不清楚PostgreSQL、SQLite、Oracle、MySQL、SQL Server之間的區別;
- 不知道網路流量大的網站使用什麼框架開發最好。
如果以上問題中有些是你困惑的,那麼本書也許能幫到你;如果透過學習本書能幫你解決實際問題,那麼筆者也就實現了寫作本書的目標。
◆ 本書的編寫特點
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基礎篇後直接閱讀所需框架在其他兩篇中的對應部分內容。
◆ 本書的目標讀者
- Python程式設計技術同好。
- Django、Tornado、Flask、Twisted專案參與者。
- 網站設計人員。
- 網站開發人員。
- Web前端開發入門者。
- 想從網頁設計拓展為後台開發的設計者。
- 由單機軟體開發轉向Web開發的技術人員。
- 全端開發人員。
- 大專院校的學生及各種IT教育訓練學校的學生。
- 希望自己動手設計網站原型的需求分析人員。
◆ 編者推薦
本書的寫作目的是確保讀者能運用一些工具、框架、已有程式來提高開發效率及節省人力成本,確保讀者能活學活用本書所講解的內容。透過閱讀本書,讀者能知道如何設計一個網站、如何選擇Python Web框架,以及如何使用框架快速開發應用。全書包含大量的實戰案例和開發技巧,複習了使用Python進行Web開發時的優秀實踐(Django、Tornado、Flask、Twisted、SQLAlchemy、Nginx、JavaScript、jQuery),討論了各種實際問題的解決方案,是目前市場上少有的全面介紹Python Web開發的圖書。
◆ 致謝
筆者要把本書獻給筆者的父母、岳父母、妻子和孩子,感謝他們一直鼓勵筆者,沒有他們的支持,筆者無法做到這一切;還要感謝筆者的朋友和同事,感謝他們不斷地鼓勵和幫助筆者。筆者非常幸運,能夠和這些聰明、努力的人一起工作和交流。
劉長龍