【CSDN博客迁移】Python笔记(4)——Python Web框架

一 Python Web框架比较

目前主要的Python Web框架有Django 、Flask 、Tornado、web.py等。下面主要对这几个框架做个比对:

Python Web框架 优点 缺点 说明
Django 1.文档,api资源丰富齐全
2.开源,遵循MVC设计模式;
3.框架功能齐全;
1.框架相对重量
2.系统紧耦合,难以用第三方库代替。
Django是目前最流行的Python框架
Bottle & Flask 轻量级框架,
基于Werkzeug WSGI工具箱和Jinja2 模板引擎设计
文档相对较少;学习成本较高; Flask是由 Armin Ronacher开发的
web.py 一个小巧的Web框架; 初学者,需要手写轮子。 web.py是轻量级框架;
Tornado 类似于Web.py,其拥有异步非阻塞IO的处理方式。并且是一个web服务器 文档相对较少;但是代码相对精简; Tornado是FaceBook的开源软件;

二 Tornado Web服务器

Tornado 是 Facebook开源技术之一,基于 Apache Licence, Version 2.0 发布。Tornado 和现在的主流 Web 服务器框架的优势在于:它是非阻塞式服务器,而且速度相当快。因此本文选用Tornado作为服务器。

2.1 适用环境

2.1.1 操作系统

tornado适用操作系统.png

根据官方文档的描述,Python 支持类Unix系统(包括linux和Mac OS X),也支持Windows系统,但是并不是官网推荐的。

2.1.2 依赖环境

tornado依赖环境.png

根据官网的描述,当前稳定版本Tornado 4.3支持Pyhton 2.6 ,2.7 和3.2以上版本。注意,Pyhon 3.x和Python 2.X是不兼容的。
下面是一些可选包,可用pip安装。
unittest2是一个Tornado的测试工具,Python 2.6 需要安装,Python最新版本不需要;
concurrent.futures是一个线程池工具,Python 2.x需要安装,Python 3已经内置安装;
pycurl是一个下载工具,依赖于Libcrul。
本文主要在win7下,基于Python3 搭建Tornado Web服务器。

2.2 下载安装

(1)pip安装(官方推荐),本文基于这种方式安装。
由于Tornado 已经列入 PyPI ,因此可以通过第三方包管理工具 pip(之前安装pyhton 3的时候已经安装)。

pip install tornado

(2)源码安装
首先去官网下载tornado-4.3.tar.gz (http://www.tornadoweb.org/en/stable/index.html
然后,对于windwos系统来说。进入cmd命令行,执行下面操作

tar xvzf tornado-4.3.tar.gz
cd tornado-4.3
python setup.py build
python setup.py install

安装成功如下图:

tornado安装成功.png

2.3 测试

新建一个web项目,新建文件web.py,输入下面代码。

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("测试tornado服务器")
if __name__ == "__main__":
    application = tornado.web.Application([
        (r"/", MainHandler),
    ])
    application.listen(8888)
    tornado.ioloop.IOLoop.current().start()

cmd进入该文件下执行python web.py --port=8888,运行tornado服务器

tornado服务器启动.png

浏览器输入http://localhost:8888/,测试结果如下:

tornado测试成功.png

参考文章

  1. web.py 0.3中文官网 http://webpy.org/tutorial3.zh-cn.
  2. Tornado英文官网 http://www.tornadoweb.org/en/stable/
  3. Django 中文官网 http://python.usyiyi.cn/django/index.html
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,852评论 6 427
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 19,398评论 4 417
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 3,972评论 1 61
  • 灯光下显得那么的悲凉,漫步在安宁的夜晚之中。耳边传来摩擦的青春,抬眼望那点缀的时光,很亮也很美。多年昼夜的经营,却...
    小灰灰的阅读 166评论 0 0
  • R:他们需要对自己的发现承担道德责任。比如在本书中,作者介绍了说服的技巧,这种技巧既可以用来做好事,也可以用来做坏...
    心声树洞阅读 228评论 0 0

友情链接更多精彩内容