python Tornado使用(web框架)

2020-04-23 15:05:53 浏览数 (1)

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命令:

代码语言:javascript复制
$ pip install tornado

image.png

测试是否安装成功:

image.png

可以看到import成功了。

实战

使用官网提供的code简单尝试下:

代码语言:javascript复制
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

参考

官网

0 人点赞