python Tornado使用(web框架)

image.png

tornado(龍卷風(fēng))

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

image.png

龍卷風(fēng)大致可分為四個(gè)主要部分:

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

  • HTTP(HTTPServerAsyncHTTPClient)的客戶端和服務(wù)器端實(shí)現(xiàn)。

  • 一個(gè)異步網(wǎng)絡(luò)庫,其中包括類IOLoopIOStream,這些類用作HTTP組件的構(gòu)建塊,還可以用于實(shí)現(xiàn)其他協(xié)議。

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

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

安裝

安裝tornado使用pip命令:

$ pip install tornado
image.png

測(cè)試是否安裝成功:


image.png

可以看到import成功了。

實(shí)戰(zhàn)

使用官網(wǎng)提供的code簡(jiǎn)單嘗試下:

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()

運(yùn)行后就構(gòu)建起了一個(gè)web服務(wù),使用瀏覽器打開localhost:888:

image.png

運(yùn)行成功。O(∩_∩)O

參考

官網(wǎng)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 簡(jiǎn)介 Tornado龍卷風(fēng)是一個(gè)開源的網(wǎng)絡(luò)服務(wù)器框架,它是基于社交聚合網(wǎng)站FriendFeed的實(shí)時(shí)信息服務(wù)開發(fā)而...
    JunChow520閱讀 54,433評(píng)論 4 46
  • 本系列博文計(jì)劃: 1、剖析基于Python的Web框架Tornado的源碼,為何要閱讀源碼? Tornado 由前...
    AntaresDoctor閱讀 861評(píng)論 0 1
  • 首先附上tornado官方網(wǎng)站tornado(看官網(wǎng)最全) 安裝tornado: pip installtorna...
    時(shí)尚灬IT男閱讀 19,177評(píng)論 0 2
  • title標(biāo)題: A Web Crawler With asyncio Coroutinesauthor作者: A...
    彰樂樂樂樂閱讀 2,212評(píng)論 0 8
  • 今天學(xué)校開學(xué)了,又認(rèn)識(shí)了一群新的學(xué)生,我發(fā)現(xiàn)我的感受卻不同了,以往的我會(huì)渴望認(rèn)識(shí)新的隊(duì)員,會(huì)對(duì)她們有期待,會(huì)覺得...
    錢小米Christina閱讀 244評(píng)論 0 0

友情鏈接更多精彩內(nèi)容