python干货|必学的web框架——Tornado
Tornado的下载安装
tornado的官网:http://www.tornadoweb.org/
a) 直接下载安装包
b) 从github上下载
c) 使用pip安装
d)测试
Hello world
编写一个Tornado应用中最多的工作是定义类继承Tornado的RequestHandler类。在这个例子中,我们创建了一个简单的应用,在给定的端口监听请求,并在根目录("/")响应请求。
你可以在命令行里尝试运行这个程序以测试输出:
$ python hello.py --port=8000
现在你可以在浏览器中打开http://localhost:8000,或者打开另一个终端窗口使用curl测试我们的应用:
字符串服务
如同运行第一个例子,你可以在命令行中运行这个例子使用如下的命令:
$ python string_service.py --port=8000
关于RequestHandler的更多知识
截止到目前讨论的例子,每个RequestHandler类都只定义了一个HTTP方法的行为。但是,在同一个处理函数中定义多个方法是可能的,并且是有用的。把概念相关的功能绑定到同一个类是一个很好的方法。比如,你可能会编写一个处理函数来处理数据库中某个特定ID的对象,既使用GET方法,也使用POST方法。想象GET方法来返回这个部件的信息,而POST方法在数据库中对这个ID的部件进行改变:
我们到目前为止只是用了GET和POST方法,但Tornado支持任何合法的HTTP请求(GET、POST、PUT、DELETE、HEAD、OPTIONS)。你可以非常容易地定义上述任一种方法的行为,只需要在RequestHandler类中使用同名的方法。下面是另一个想象的例子,在这个例子中针对特定frob ID的HEAD请求只根据frob是否存在给出信息,而GET方法返回整个对象:
区别和优劣:
tornado与django、flask的5点区别:
①改了后台代码后不自动重新运行,要点击运行窗口的Rerun;
②运行窗口不自动显示127.0.0.1:端口号,可print一个,或在浏览器地址栏手输;
③最新版的PyCharm,New Project列表中,目前仍无自动创建tornado的模板;
④Python文件,默认和html文件在同个目录下,或在路由的后面指定templates和static文件夹。
⑤html模板中:字典用d['key'],而非d.key;判断和循环的结尾,都是{% end %},而另俩web框架则是用{% endif %}、{% endfor %}、{% endwith %}
实例:狼人杀,在线抽奖
a)狼人杀
b)在线抽奖
最后
前几天有私信小编要Python的学习资料,小编整理了一些有深度的Python教程和参考资料,从入门到高级的都有,文件已经打包好了,正在学习Python的同学可以下载学习学习。文件下载方式:点击小编头像,关注后私信回复“python”即可下载。首先把代码撸起来!首先把代码撸起来!首先把代码撸起来!重要的事说三遍,哈哈。“编程是门手艺活”。什么意思?得练啊。