全文学习基于 《零基础学python》第二版
tornado 只是python众多框架中一个,下面我将窥探faceboook对几个流行框架的评测:
看,facebook官方网站已经说的很清楚了,他们的 FriendFeed’s real-time 功能都在用tornado框架,上图评测也对几大主流框架进行了对比,优势明显,没有理由不用啦。
前期准备工作:
数据库搭建 参见笔记mac 配置 mysql (OS X)
tornado的安装
本文主要讲解工程结构,当了解工程结构后,根据结构知识去学习是最快的上手方式; 所有思路可以采取 javaweb 的框架思路:(静态文件、路由文件、配置文件、网页文件)
首先我们来查看程序的入口 server.py :
以上基本是一些固定的写法,当然端口可以自己定义 一般在四位数以上(防止被其他程序占用)后续我们再来研究nginx端口的指定。
接着我们来讲解 application.py 文件(顾名思义了,application就是程序的意思,那么这里应该完成程序的全局配置):
研究了程序的入口、程序的全局配置文件,那我们来接着研究程序的路由(意思就是说 用户访问的链接,我们程序该在哪里处理、该导向到什么页面)
本程序在 url.py 文件中进行路径的配置 (url 这个名字,已经在前面提过了~~如已忘记,请往上翻翻
下图是 url.py 文件的详细内容及说明
上面我们将 web 的三大文件给讲解完了(javaweb也类同),接下来主要讲解 handler的相关处理(收到的请求该怎么处理逻辑、该怎么跳转页面等)
好了,我们移步到 handlers文件夹:
说明 每一个单一模块(java里叫包)下必须至少有一个 init.py 的文件(原因在于该模块下的文件在其他文件将会有引用,那么必须包含init.py),里面是空的都行。
Base.py 是 Index.py SleepHandler.py UserHandler.py 的基类
具体Base.py 及各个handler类里面怎样实现每个功能,请参见 用tornado做网站。
潜水简书很长时间了,一直没有分享技术、或是值得分享的东西,感觉无法何处开始。直到看了《自创四维》中的一句话 “人生永远都是测试版”;我才幡然醒悟,那我也试着写写自己所做的beta吧。
内容如有不足之处,请指正 🌞