全文學(xué)習(xí)基于 《零基礎(chǔ)學(xué)python》第二版
tornado 只是python眾多框架中一個纤勒,下面我將窺探faceboook對幾個流行框架的評測:
看坯苹,facebook官方網(wǎng)站已經(jīng)說的很清楚了,他們的 FriendFeed’s real-time 功能都在用tornado框架摇天,上圖評測也對幾大主流框架進(jìn)行了對比粹湃,優(yōu)勢明顯,沒有理由不用啦泉坐。
前期準(zhǔn)備工作:
數(shù)據(jù)庫搭建 參見筆記mac 配置 mysql (OS X)
tornado的安裝
本文主要講解工程結(jié)構(gòu)为鳄,當(dāng)了解工程結(jié)構(gòu)后,根據(jù)結(jié)構(gòu)知識去學(xué)習(xí)是最快的上手方式腕让; 所有思路可以采取 javaweb 的框架思路:(靜態(tài)文件孤钦、路由文件、配置文件记某、網(wǎng)頁文件)
首先我們來查看程序的入口 server.py :
以上基本是一些固定的寫法司训,當(dāng)然端口可以自己定義 一般在四位數(shù)以上(防止被其他程序占用)后續(xù)我們再來研究nginx端口的指定。
接著我們來講解 application.py 文件(顧名思義了液南,application就是程序的意思,那么這里應(yīng)該完成程序的全局配置):
研究了程序的入口勾徽、程序的全局配置文件滑凉,那我們來接著研究程序的路由(意思就是說 用戶訪問的鏈接,我們程序該在哪里處理喘帚、該導(dǎo)向到什么頁面)
本程序在 url.py 文件中進(jìn)行路徑的配置 (url 這個名字畅姊,已經(jīng)在前面提過了~~如已忘記,請往上翻翻
下圖是 url.py 文件的詳細(xì)內(nèi)容及說明
上面我們將 web 的三大文件給講解完了(javaweb也類同)吹由,接下來主要講解 handler的相關(guān)處理(收到的請求該怎么處理邏輯若未、該怎么跳轉(zhuǎn)頁面等)
好了,我們移步到 handlers文件夾:
說明 每一個單一模塊(java里叫包)下必須至少有一個 init.py 的文件(原因在于該模塊下的文件在其他文件將會有引用倾鲫,那么必須包含init.py)粗合,里面是空的都行萍嬉。
Base.py 是 Index.py SleepHandler.py UserHandler.py 的基類
具體Base.py 及各個handler類里面怎樣實現(xiàn)每個功能,請參見 用tornado做網(wǎng)站隙疚。
潛水簡書很長時間了壤追,一直沒有分享技術(shù)、或是值得分享的東西供屉,感覺無法何處開始行冰。直到看了《自創(chuàng)四維》中的一句話 “人生永遠(yuǎn)都是測試版”;我才幡然醒悟伶丐,那我也試著寫寫自己所做的beta吧悼做。
內(nèi)容如有不足之處,請指正 ??