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框架。