一、Tornado框架概述
Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像 web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具 和优化。
Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。我们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。(关于如何扩容 服务器,以处理数以千计的客户端的连接的问题,请参阅 C10K problem。)
二、HelloWorld
上述代码在浏览器中打印一行字符串(Hello, world!)。
三、HelloWorld的进一步扩充
port参数是自定义的启动参数,其它参数均为框架自带的默认启动参数。
四、静态页面的处理
五、数据库的处理
Tornado默认只封装了MySQL的访问接口,访问其它数据库需要使用相应数据库的Python Interface。
在Application类的初始化方法中,添加数据库连接。
在RequestHandler类中添加数据库的访问方法。
在模板文件中,使用RequestHandler传递过来的数据(entries)。
六、表单的处理
在模板文件中,按照通用的HTML方式编写表单即可。
在RequestHandler的相应方法(get/post)中,通过get_argument()函数获取表单提交的数据。
七、参考资料
官网:http://www.tornadoweb.org/
中文版可以看这里:http://www.tornadoweb.cn/
官方API参考:http://www.tornadoweb.org/documentation/index.html
《Intorduction to Tornado》:http://ishare.iask.sina.com.cn/f/24156048.html