TOP

Tornado 框架

Tornado 框架

简介

使用 Python 编写的网络框架和高性能的异步网络库

适用于大量连接, 长轮训, WebSocket 应用

优势

微框架

异步支持

缺点

轮子少, 不像 Django, Flask 等框架有大量插件支持

缺少实践, 使用公司不多, 学习资料少

使用场景

构建微服务

不适合复杂的 CMS ( 内容管理系统 ) 应用

适合构建网站或者 app 后端微服务

学习资料

官方 -  http://www.tornadoweb.org/en/stable/ 

introduction to tornado (译本-    http://demo.pythoner.com/itt2zh/ 

Tornado 使用

安装

 pip install tornado 

简单实例

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

访问   这里 -  127.0.0.1:8888 

Tornado 主要模块

web 框架

▨  tornado.web.Application  和   RequestHandler 

▨   tornado.template   模板渲染

▨   tornado.routing   处理路由

设置 模板文件夹

def make_app():
    return tornado.web.Application([
        (r"/", MainHandler),
    ],
        template_path=os.path.join(
            os.path.dirname(__file__), "templates"
        ),
        debug=True
    )

以及调用展示模板

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.render("test.html")

前后端数据传递

 

示例

import tornado.ioloop
import tornado.web
import os


class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.render("test.html")


def make_app():
    return tornado.web.Application([
        (r"/", MainHandler),
    ],
        template_path=os.path.join(
            os.path.dirname(__file__), "templates"
        ),
        debug=True
    )


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

 

posted @ 2019-05-16 19:36  羊驼之歌  阅读(219)  评论(0编辑  收藏  举报