Python web框架的选择
- 2016-12-13 更新: 加入 CherryPy
python web frameworks
一、缘起网站
大约十多年前(1998年),我做了人生中的第一个网站。那是用的语言是 ASP,工具是 FrontPage。
后来(2000~2004年),我做了一段时间网站开发,负责前端到后端、美术到产品的所有内容,使用的语言是 ASP 和 PHP,工具是 Macromedia Dreamweaver 和 Editplus。
那时,我已经开始手写 CSS 和 HTML,并使用 <DIV>
重构网站了。
再后来,我就没有继续做网站了。
现在,因为众所周知的原因,我必须捡起这个老本行。由于一直都不太喜欢 PHP,我在考虑选择一个 Python Web 框架。
二、百花齐放的 Python Web 框架
这里有一个 不完全的列表 展示了一些 Python Web 框架。我关心的主要是下面几个:
三、相关对比
- 浅谈Python web框架
- web.py更面向对象,flask更面向过程
- Python Web 框架哪个入门快?Django、Tornado、web.py?
- 初学web框架,选哪一个好呢?
- web开发框架的选择(bottle or flask)及为autumn增加多线程支持
- bottle 和 flask
- Which is better: Flask vs web.py? Why?
- Python Flask vs Bottle
- Bottle vs Flask, who will win?
- Flask vs. CherryPy
四、我的选择
根据上面的对比,我对这些框架的大致了解如下:
Django 是一个一站式解决方案,提供了所有web开发者需要的东西。它有相对封闭的环境和耦合较紧密的系统,同时提供一个管理员后台。但由于功能全面,学习起来可能需要花费较多的时间。但也是由于功能全面,对于不愿意费劲折腾的人来说,应该是更容易使用。文档方面,Django 做得非常优秀。
web.py 的原作者好像已经出走?Tornade 算是 web.py 的继任者和加强版,同时它还是个服务器。但文档方面貌似比较缺乏。
Bottle 是和 web.py 类似的微型框架,它的设计更加简洁合理,且只有一个 3K 行的 py 文件,可支持多种模板和服务器。文档也足够完善。
CherryPy 是个优秀的微星框架。而且自带一个可以用于生产环境的基于线程池的 Web 服务器。使用 Flask 开发,使用 CheeryPy 来部署甚至成了一种通用的部署方式。
Flask 也是微型框架,在使用上和 Bottle 很像。但Flask 是 Pocoo 团队的作品,在使用上应该更有保障。文档丰富,且有中译本。
由于我比较爱折腾,Flask 的社区也相对完善,所以选择 Flask。
- 文章ID:2172
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/python_web_frameworks/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。