目录
  • tornado是什么

tornado是什么

学委之前在看jupyter组件的源码的时候,发现了tornado这个web框架。

不仅仅做一个web框架, 通过使用非阻塞网络i/o,tornado可以扩展到数万个开放连接。

这样非常适合 long polling , websockets 以及其他需要与每个用户建立长期连接的应用程序。

好,下面安装试用一下。

安装

pip install tornado

pip 不会用的朋友可以看看 #

试试看使用tornado框架来写一个web application

来一个简单的,保存下面代码为app.py文件

"""
雷学委#代码demo
"""

import tornado.ioloop
import tornado.web

“”“编写一个请求处理器”“”
class mainhandler(tornado.web.requesthandler):
    def get(self):
        self.write("hello, tornado server");


"""创建一个web app"""
def make_app():
    #绑定接口“/” 到mainhandler
    return tornado.web.application([
	    (r"/", mainhandler),	
    ])


#程序入口
if __name__ == '__main__':
    app = make_app()
    app.listen(8080)
    tornado.ioloop.ioloop.current().start()

运行如下:(python app.py)

效果如下:

这个示例很简单,先学会用起来。

再试试做一个form

"""
雷学委#代码demo
"""

import tornado.ioloop
import tornado.web

#一个处理form的请求处理器
class myformhandler(tornado.web.requesthandler):
    def get(self):
        #直接页面渲染一个form
        self.write('<html><body class="leixuewei"><form action="/form" method="post">'
                   '<input type="text" name="message">'
                   '<input class="leixuewei" type="submit" value="submit">'
                   '</form></body></html>')

    def post(self):
        self.set_header("content-type", "text/plain")
        self.write("you wrote " + self.get_body_argument("message"))


class mainhandler(tornado.web.requesthandler):
    def get(self):
        self.write("hello, tornado server");

def make_xue_wei_app():
    #使用application加载多个路由: “/” 接口路由 和 “/form” 接口路由
    return tornado.web.application([
	    (r"/", mainhandler),
        (r"/form", myformhandler)
    ])


if __name__ == '__main__':
    app = make_xue_wei_app()
    app.listen(18081)
    tornado.ioloop.ioloop.current().start()

以上代码比前面第一个示例多了一个form的请求处理器和路由加载。

看看页面渲染的效果,没有内嵌任何js,这个submit按钮就直接把发起了post请求给“/form”接口。

而且博主也没有编写任何js处理页面,特别简化,这个”小魔法“是本文想要推荐tornado的一个原因!

以上随笔,简单使用分享,后面再继续推这个框架的解读。

总结

到此这篇关于python tornado框架轻松写一个web应用的文章就介绍到这了,更多相关python tornado框架写web应用内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

参考链接:

关于pip的使用 =>

tornado => www.osgeo.cn/tornado/