the5fire的技术博客

关注python、vim、linux、web开发和互联网--life is short, we need python.


初学tornado之MVC版helloworld(一) 10093°C

作者:the5fire | 标签:     | 发布:2012-08-06 1:58 p.m.
工作需要用到tornado,所以需要研究下,对于python的框架,我从来都是不怵的,只是觉得需要接触的越多越嗨皮。

虽然是新接触tornado框架,但是毕竟不是初学者,因此一上来就搞一个官网的helloworld,其实没多大意义。当然也是有意义——在于让你知道这么东西上手很简单。不过对于实际项目,官网上的helloworld远远不够。

先来了解下什么tornado,看看官网的解释:


Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本。这个 Web 框架看起来有些像 web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具 和优化。

Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。....

tornado官网
tornado中文镜像站

开源中国上也对其进行了介绍:

Tornado web server 是使用Python编写出来的一个极轻量级、高可伸缩性和非阻塞IO的Web服务器软件,着名的 Friendfeed 网站就是使用它搭建的。

Tornado 跟其他主流的Web服务器框架(主要是Python框架)不同是采用epoll非阻塞IO,响应快速,可处理数千并发连接,特别适用用于实时的Web服务。

tornado Web Server

总结这个框架的特点就是:轻量,高性能。

从JAVAEE转到python开发之后接触的第一个框架是django,当时的第一感觉是,这个东西真的好轻便。

现在接触tornado之后,发现它比django还要轻便,当然过于轻便意味着功能会少一些,的确如此,目前在使用中发现tornado没有提供orm,也没有提供session。但是可直接做为web server来用。
关于tornado和django的对比,从网上找了一篇文章可以看下:http://www.cnblogs.com/wuvist/archive/2011/06/28/django-And-tornado.html

简单了解之后,还是先来一个官网上简单的helloworld,让大家热热手,至于如何安装我想不需要我多说了。


import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")

application = tornado.web.Application([
(r"/", MainHandler),
])

if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()



这样你访问: http://127.0.0.1:8888 就可以看到页面了,如此之简单是我之前也没想到的。但是这个其实也就是用来看的,不能拿来用,下面来一个MVC版的helloworld,让你可以直接拿走进行项目开发。

好像文章有点长了,写另外一篇吧。
----EOF-----

扫码关注,或者搜索微信公众号:the5fire

其他分类: