/ python

python web 框架分析

主流的python web框架
  • django: 一个大而全的框架
  • flask: 一个轻量级框架,挺多人使用的
  • bottle: 一个更加轻量级的框架
  • tornado: 一个高性能异步框架
  • web.py: 一个简单易懂的框架
我该选择哪一个web框架

如果是刚入门python的同学,我的建议是使用flask,因为使用这个框架的学习成本是最低的,并且该框架提供了大量的第三方插件,出现问题可以查找的资料也是非常多的。

如果网站是属于高并发,并且是IO密集型的话,我的建议是使用tornado,因为tornado的性能比较强悍,异步特性特别适合IO密集型的情况,当然异步的写法会比同步的纠结一些。

如果是想快速的搭建起一个网站,建议使用django,因为django自带一个非常强悍的admin管理后台,定义好模型和配置好模型之后,就自动完成了管理后台。

flask能否用于商业系统

这个绝对是可行的,本人见证过若干个基于flask框架的商业系统平稳运行过,并且在高并发下一样有着优异的性能。

小心django的admin后台

使用django的admin管理系统做管理后台的确是十分的方便快捷,但是一旦管理后台需要复杂的页面的时候,原来的admin系统就是一个灾难,这也是本人的亲身经历,所以在使用之前先分析管理后台会不会弄的十分复杂。

tornado的mysql orm是硬伤

tornado的异步都是需要特殊编写,虽然有mysql的异步库,但是暂时却没有好的orm框架。