【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 操作系统

【CSDN博客迁移】Python笔记(4)——Python Web框架_第1张图片
tornado适用操作系统.png

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

2.1.2 依赖环境

【CSDN博客迁移】Python笔记(4)——Python Web框架_第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

安装成功如下图:

【CSDN博客迁移】Python笔记(4)——Python Web框架_第3张图片
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服务器

【CSDN博客迁移】Python笔记(4)——Python Web框架_第4张图片
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

你可能感兴趣的:(【CSDN博客迁移】Python笔记(4)——Python Web框架)