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()
  • 相关阅读:
    Java Web 网络留言板2 JDBC数据源 (连接池技术)
    Java Web 网络留言板3 CommonsDbUtils
    Java Web ConnectionPool (连接池技术)
    Java Web 网络留言板
    Java Web JDBC数据源
    Java Web CommonsUtils (数据库连接方法)
    Servlet 起源
    Hibernate EntityManager
    Hibernate Annotation (Hibernate 注解)
    wpf控件设计时支持(1)
  • 原文地址:https://www.cnblogs.com/shijieli/p/10877568.html
Copyright © 2011-2022 走看看