描述
內容簡介
想一次學會 Python 四大網頁框架嗎? 本書幫助您掌握與應用 Python 3 及 Django、Tornado、Flask、Twisted!
Python榮登2021年程式語言排行之首,被應用於開發各種應用程式,在網頁開發的世界也成為了當紅炸子雞。
Python入門新手/擅於Web開發的老手都適合的選擇 ★ 從『Python基礎建立』到『Web Frameworks全面應用』 本書作為Python入門到網頁框架實作開發的指南,凡是對Python與網頁設計開發有熱忱的讀者,本書是您再合適不過的選擇! 全書皆以Python 3進行講解與實作,亦詳細說明網路通訊(TCP/IP、HTTP、Socket)、網頁前端設計(HTML、CSS、JavaScript)、資料庫與ORM,從基礎知識扎根;建立Python基本觀念之後,循序漸進說明最新穎的四大網頁框架——Django、Tornado、Flask、Twisted,最後針對每個網頁框架選出了最合適的網頁專案進行實作開發,包含社交網站、聊天室、資訊管理系統、物聯網訊息閘道等實際IS系統場景,讓讀者知悉並 go through 前端開發由概觀到細節的過程。
本書特色 ◆ 真正零基礎學Python Web開發,保證誰都看得懂! ◆ 網羅四大網頁框架: - 最穩定的老牌Django開發框架 - 最高性能的Tornado開發框架 - 小巧輕快的微框架Flask - 事件驅動的Twisted開發框架 ◆ 以Django / Tornado / Flask / Twisted實作開發: - Django + PostgreSQL開發Twitter系統 - Tornado + jQuery開發WebSocket聊天室 - Flask + Bootstrap + Restful開發資訊管理系統 - Twisted + SQLAlchemy + ZeroMQ開發跨平台物聯網訊息閘道 |
作者簡介
劉長龍
▏寫作和程式設計都是在創作新的自己 擁有復旦大學資訊管理學士學位、上海交通大學電腦技術碩士學位。從事電腦軟體研發十多年,對應用軟體開發有廣泛深入的理解,用 C++、Python 等技術主持過電信級即時計費系統、客戶管理系統、智慧家居、物聯網雲端平臺的設計與開發工作。業餘時間喜歡跑步和游泳。 |
目錄
◆ 上篇 - Python基礎
第1章 Python基礎知識 1.1 Python整體說明 1.2 資料類型 1.3 流程控制 1.4 函數 1.5 異常 1.6 物件導向程式設計 1.7 本章複習
第2章 Web程式設計之網路基礎 2.1 TCP/IP網路 2.2 HTTP 2.3 Socket程式設計 2.4 本章複習
第3章 用戶端的程式設計技術 3.1 HTML 3.2 CSS 3.3 JavaScript 3.4 jQuery 3.5 本章複習
第4章 資料庫及ORM 4.1 資料庫概念 4.2 關聯式資料庫程式設計 4.3 ORM程式設計 4.4 本章複習
◆ 中篇 - Python框架 第5章 Python網路框架縱覽 5.1 網路框架整體說明 5.2 開發環境準備 5.3 Web伺服器 5.4 本章複習
第6章 企業級開發框架——Django 6.1 Django整體說明 6.2 實戰演練:開發Django網站 6.3 Django模型層 6.4 Django視圖層 6.5 使用Django表單 6.6 個性化管理員網站 6.7 本章複習
第7章 高併發處理框架——Tornado 7.1 Tornado概述 7.2 非同步及程式碼協同基礎 7.3 實戰演練:開發Tornado網站 7.4 使用者身份驗證框架 7.5 HTML 5 WebSocket的概念及應用 7.6 Tornado網站部署 7.7 本章複習
第8章 支持快速建站的框架——Flask 8.1 Flask整體說明 8.2 實戰演練:開發Flask網站 8.3 路由詳解 8.4 使用上下文 8.5 Jinja2範本程式設計 8.6 SQLAlchemy資料庫程式設計 8.7 WTForm表單程式設計 8.8 本章複習
第9章 底層自訂協定網路框架——Twisted 9.1 Twisted整體說明 9.2 實戰演練:開發TCP廣播系統 9.3 UDP程式設計技術 9.4 Twisted進階話題 9.5 本章複習
◆ 下篇 - Python框架實戰 第10章 實戰1:用Django+PostgreSQL開發行動Twitter 10.1 專案概覽 10.2 頁面框架設計 10.3 使用者註冊及登入 10.4 手機訊息的發佈和瀏覽 10.5 社交朋友圈 10.6 個人資料設定 10.7 Web管理網站 10.8 本章複習
第11章 實戰2:用Tornado+jQuery開發WebSocket聊天室 11.1 聊天室概覽 11.2 訊息通訊 11.3 聊天功能 11.4 使用者面板 11.5 本章複習
第12章 實戰3:用Flask+Bootstrap+Restful開發學校管理系統 12.1 系統概覽 12.2 資料模型設計 12.3 響應式頁面框架設計 12.4 新建學校 12.5 學校管理 12.6 Restful介面 12.7 本章複習
第13章 實戰4:用Twisted+SQLAlchemy+ZeroMQ開發跨平台物聯網訊息閘道 13.1 專案概況 13.2 專案設計 13.3 通訊引擎 13.4 協定程式設計 13.5 ZeroMQ叢集 13.6 本章複習 |
序
有些人想學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開發的圖書。 ◆ 致謝 筆者要把本書獻給筆者的父母、岳父母、妻子和孩子,感謝他們一直鼓勵筆者,沒有他們的支持,筆者無法做到這一切;還要感謝筆者的朋友和同事,感謝他們不斷地鼓勵和幫助筆者。筆者非常幸運,能夠和這些聰明、努力的人一起工作和交流。 劉長龍 |