Python Tonado一个Web应用

网友投稿 788 2022-05-30

Tornado是什么

最近在看Jupyter源码发现了tornado这个web框架。

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

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

好,下面安装试用一下。

安装

pip install tornado

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

Tornado Web Server — Tornado 6.2.dev1 文档

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

效果如下:

再试试做一个form

import tornado.ioloop import tornado.web #一个处理form的请求处理器 class MyFormHandler(tornado.web.RequestHandler): def get(self): #直接页面渲染一个form self.write('

' '' '' '
') 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_app(): #使用application加载多个路由: “/” 接口路由 和 “/form” 接口路由 return tornado.web.Application([ (r"/", MainHandler), (r"/form", MyFormHandler) ]) if __name__ == '__main__': app = make_app() app.listen(18081) tornado.ioloop.IOLoop.current().start()

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

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

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

以上随笔,后面再继续推这个框架的解读。

Tornado

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【学习分享】开发者最佳实践挑战营第七期体会
下一篇:【计算机网络】数据链路层 : 轮询访问 介质访问控制 ( 轮询协议 | 令牌传递协议 )
相关文章