天天看點

python 架構tornado_基于Python的Tornado架構入門

前言

前段時間用Python的tornado架構做了一個項目,做完之後老大讓我在團隊内部分享一下這個架構,做個入門介紹,于是就準備了以下這篇文章。

Tornado簡介

Tornado-基于Python的web服務端架構, 與現有主流的web服務端(以及大多數Python架構)有着明顯的差別: 它是非阻塞式,速度相當快。得利于其非阻塞式的方式,Tornado每秒可以處理數以千計的連接配接,是以是實時web服務的一個理想架構。

Tornado安裝

pip install tornado # 這裡我們使用的版本是5.1 Python版本是3.6

Tornado web程式流程建立web應用執行個體對象,第一個初始化參數為路由映射清單

定義實作路由映射清單的handler類

建立執行個體,監聽伺服器端口

啟動。執行IOLoop類的start()方法

處理HTTP請求

實作下列方法來處理HTTP請求RequestHandler.get(args, kwargs) #處理get請求

RequestHandler.post(*args, kwargs) #處理post請求

RequestHandler.put(args, kwargs) #處理put請求

RequestHandler.delete(*args, kwargs) #處理delete請求

Hello world

建立一個hello.py寫入以下内容

import tornado.ioloop

import tornado.web

class MainHandler(tornado.web.RequestHandler):

def get(self):

self.write("Hello world")

class Application(tornado.web.Application):

def __init__(self):

handlers = [

(r'/', MainHandler),

]

tornado.web.Application.__init__(self, handlers)

if __name__=="__main__":

app = Application()

app.listen(8000)

print("Tornado Started in port 8000,http://127.0.0.1:8000")

tornado.ioloop.IOLoop.current().start()

執行該檔案

python3 hello.py

當你看到控制台輸出:

Tornado Started in port 8000,http://127.0.0.1:8000

既運作成功,此時浏覽器通路127.0.0.1:8000就可以看到Hello world

這個Hello world建立了一個socket服務并監聽8000端口,當接收到請求時根據路由規則來找到相應的類處理該請求,并根據請求方式指定相應類中的指定方法處理。 是以當我們在浏覽器鍵入127.0.0.1:8000,服務端會給浏覽器傳回Hello world。