tornado 原始碼包中 demos 目錄下包含一些示例程式,就從最簡單的 helloworld.py 來看乙個 tornado 應用程式的**結構。
完整的例項程式如下:
首先是一組 import。這個再正常不過了,當然,之前該有的注釋什麼的還是要有的。
接下來,是定義應用程式的選項,這樣可以在啟動應用程式的時候指定一些引數。tornado 提供了方法 tornado.options.define 來簡化了選項引數的定義,具體的可以通過 help 來檢視。這裡有直接的例子,定義埠引數:
1
define(
"port"
, default
=
8888
,
help
=
"run on the given port"
,
type
=
int
)
接下來是 mainhandler 的設定:
1
class
mainhandler(tornado.web.requesthandler):
2
def
get(
self
):
3
self
.write(
"hello, nowamagic"
)
xxhandler 針對對映的 url 的具體實現。
handler 下面是 main() 函式的定義:
啟動伺服器之後,還需要啟動 ioloop 的例項,這樣可以啟動事件迴圈機制,配合非阻塞的 http server 工作。當然,具體的實現還是比較複雜的,這裡僅僅是簡單概括一下。
總結下來,**組織如下:
view source
print?
1
注釋
2
import
語句
3
選項引數定義
4
5
basehandler定義
6
xxhandlers定義
7
main()定義
Tornado 學習之路 開始
tornado 是乙個 http 框架,用 python 編寫,非常簡潔而且高效。書本身不長,只有百來頁,往後會記錄一些學習過程中的筆記。1.mac 上安裝 tornado 比較簡單,在 terminal 裡輸入 pip install tornado即可。2.第乙個專案自然是 hello worl...
從 hell眼中看世界 TLCL
字元展開 echo 路徑名展開 echo d 隱藏檔案路徑名展開 ls d 波浪線展開 echo 算術表示式展開 expression 花括號展開 echo number 最常見的應用,建立一系列的檔案或目錄列表。引數展開 echo user printenv less 命令展開 把乙個命令的輸出作...
從開源開始
把程式 全部公開是非常符合人性。這大概因為人性是懶惰的。既然能夠用電腦完成,就不要用人來完成。但電腦還是需要人來控制。於是,有眾多的人辛辛苦苦地加入了程式設計師的行列裡。開源後程式設計師也可以懶一些,把除錯 和增加功能交給了大眾。同時獲益的也有大眾,他們可以不做出重複勞動了。是的,多好啊,他們可以不...