Tornado 初探

全文学习基于 《零基础学python》第二版

tornado 只是python众多框架中一个,下面我将窥探faceboook对几个流行框架的评测:

Tornado 初探_第1张图片
tornado与其他主流框架的性能对比

看,facebook官方网站已经说的很清楚了,他们的 FriendFeed’s real-time 功能都在用tornado框架,上图评测也对几大主流框架进行了对比,优势明显,没有理由不用啦。


前期准备工作:

数据库搭建 参见笔记mac 配置 mysql (OS X)
tornado的安装

本文主要讲解工程结构,当了解工程结构后,根据结构知识去学习是最快的上手方式; 所有思路可以采取 javaweb 的框架思路:(静态文件、路由文件、配置文件、网页文件)

Tornado 初探_第2张图片
项目结构

首先我们来查看程序的入口 server.py :

Tornado 初探_第3张图片
server.py

以上基本是一些固定的写法,当然端口可以自己定义 一般在四位数以上(防止被其他程序占用)后续我们再来研究nginx端口的指定。


接着我们来讲解 application.py 文件(顾名思义了,application就是程序的意思,那么这里应该完成程序的全局配置):

Tornado 初探_第4张图片
application.py

研究了程序的入口、程序的全局配置文件,那我们来接着研究程序的路由(意思就是说 用户访问的链接,我们程序该在哪里处理、该导向到什么页面)
本程序在 url.py 文件中进行路径的配置 (url 这个名字,已经在前面提过了~~如已忘记,请往上翻翻


server.py

下图是 url.py 文件的详细内容及说明


Tornado 初探_第5张图片
url.py

上面我们将 web 的三大文件给讲解完了(javaweb也类同),接下来主要讲解 handler的相关处理(收到的请求该怎么处理逻辑、该怎么跳转页面等)

好了,我们移步到 handlers文件夹:

Tornado 初探_第6张图片
handler 文件结构

说明 每一个单一模块(java里叫包)下必须至少有一个 init.py 的文件(原因在于该模块下的文件在其他文件将会有引用,那么必须包含init.py),里面是空的都行。

Base.py 是 Index.py SleepHandler.py UserHandler.py 的基类


Tornado 初探_第7张图片
handler 的继承关系

具体Base.py 及各个handler类里面怎样实现每个功能,请参见 用tornado做网站。

潜水很长时间了,一直没有分享技术、或是值得分享的东西,感觉无法何处开始。直到看了《自创四维》中的一句话 “人生永远都是测试版”;我才幡然醒悟,那我也试着写写自己所做的beta吧。

内容如有不足之处,请指正

你可能感兴趣的:(Tornado 初探)