虽然是新接触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,让你可以直接拿走进行项目开发。
好像文章有点长了,写另外一篇吧。 - from the5fire.com
----EOF-----
微信公众号:Python程序员杂谈
微信公众号:Python程序员杂谈