zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    2018-06-20 利用随机数组进行36选7(不重复)
    2018-06-20 js字符串函数
    2018-06-19 js DOM对象
    2018-06-19 Javascript 基础2
    《我们应当怎样做需求分析》阅读笔记
    《软件需求模式》阅读笔记03
    《软件需求模式》阅读笔记02
    《软件需求模式》阅读笔记01
    java总结:double取两位小数的多种方法
    梦断代码阅读笔记03
  • 原文地址:https://www.cnblogs.com/shijieli/p/10877568.html
Copyright © 2011-2022 走看看