python Tornado使用(web框架)

image.png

tornado(龍卷風)

Tornado是一個Python Web框架和異步網絡庫,最初由FriendFeed開發。通過使用非阻塞網絡I / O,Tornado可以擴展到成千上萬的開放連接,使其非常適合 長時間輪詢, WebSocket和其他需要與每個用戶建立長期連接的應用程序。

image.png

龍卷風大致可分為四個主要部分:

  • Web框架(包括RequestHandler子類以創建Web應用程序,以及各種支持類)。

  • HTTP(HTTPServerAsyncHTTPClient)的客戶端和服務器端實現。

  • 一個異步網絡庫,其中包括類IOLoopIOStream,這些類用作HTTP組件的構建塊,還可以用于實現其他協議。

  • 一個協程庫(tornado.gen),它允許以比鏈接回調更直接的方式編寫異步代碼。這類似于Python 3.5()中引入的本機協程功能。如果可用,建議使用本地協程代替模塊。async deftornado.gen

Tornado Web框架和HTTP服務器一起提供了WSGI的全棧替代方案。盡管可以將Tornado HTTP服務器用作其他WSGI框架(WSGIContainer)的容器,但是這種組合有局限性,要充分利用Tornado,您將需要同時使用Tornado的Web框架和HTTP服務器。

安裝

安裝tornado使用pip命令:

$ pip install tornado
image.png

測試是否安裝成功:


image.png

可以看到import成功了。

實戰

使用官網提供的code簡單嘗試下:

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

def make_app():
    return tornado.web.Application([
        (r"/", MainHandler),
    ])

if __name__ == "__main__":
    app = make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()

運行后就構建起了一個web服務,使用瀏覽器打開localhost:888:

image.png

運行成功。O(∩_∩)O

參考

官網

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容