本人目前并没使用Tornado与Web.py的经验,也没有做过专门的研究。本文的内容主要是对网上主流的做了归纳与综合。
开发blog django省力,定义models, 写个前台基本就搞定了。 tornado灵活, 不用异步特性单纯作个轻框架写法和webpy也差不多。 webpy作者都走了那么久了, 这类单人主导的项目没经历正常过度,等一些现有应用迁出完毕,少量维护者出离, 项目本身就正式宣告死亡了, 完全不该考虑了。
Django是走大而全的方向,它最出名的是其全自动化的管理后台:只需要使用起ORM,做简单的对象定义,它就能自动生成数据库结构、以及全功能的管理后台。
Django的优点是超高的开发效率,其性能扩展有限;采用Django的项目,在流量达到一定规模后,都需要对其进行重构,才能满足性能的要求。
而Django的缺点主要整个系统相对封闭,Django最为人诟病的地方是系统紧耦合,如果你觉得Django内置的某项功能不是很好,想用喜欢的第三方库来代替是很难的。
在Django模板中,彻底的将代码、样式分离。
webpy像捏橡皮泥,一切自己动手,但灵活多变。
django像搭积木,方便快捷,但细节没法改。
tornado作为web框架只提供了最核心的HTTP服务,没有orm,只有简单的template,大多数时候需要配合mako或者jiajia2使用,而orm通常会选择SQLAlchemy。
tornado的最大的亮点就是异步网络框架,能提高请求的并发量,于此同时tornado还可以作为一个高性能的web sever来使用,反观django,部署到正式环境时需要配合uwsgi或者gunicorn使用。
时间: 2024-10-05 05:21:51