Django、Tornado、Web.py比较与选用

本人目前并没使用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

Django、Tornado、Web.py比较与选用的相关文章

tornado web.py Application类源码剖析

[课程]web2.0程序设计[作业要求]研究 application 对象源代码.说明 Application 对象实例化时,给出“debug=True”参数,代码动态自动编译的原理.[参考文档]Application 类源代码 tornado Application 官方文档 debug模式和自动重新加载 tornado.web提供了一个简单的Web框架的异步功能.一个请求处理程序的集合就组成了一个web application. 1.分析application类的源码我们知道,applica

python+matplotlib+web.py

最近看了厦门大学数据库实验室林子雨老师的<大数据课程实验案例:网站用户行为分析>,可视化这块是用的R语言,我决定用Python来实现一下. 参考文献 http://dblab.xmu.edu.cn/post/7499/ 数据来源 http://pan.baidu.com/s/1nuOSo7B 1 # -*- coding: utf-8 -*- 2 """ 3 Created on Wed Apr 19 17:26:53 2017 4 5 @author: tour

Tornado web.authenticated 用户认证浅析

在Web服务中会有用户登录后的一系列操作, 如果一个客户端的http请求要求是用户登录后才能做得操作, 那么 Web服务器接收请求时需要判断该请求里带的数据是否有用户认证的信息. 使用Tornado框架开发Web服务, 框架里提供了tornado.web.authenticated的 decorator 的辅助开发者做用户登录认证, 即开发者在实现一个 handler(对应一个url资源, 继承于tornado.web.RequestHandler)时,该 url的资源操作需要有用户认证或者登录

Python开发WebService:REST,web.py,eurasia,Django

Python开发WebService:REST,web.py,eurasia,Django 博客分类: Python PythonRESTWebWebServiceDjango 对于今天的WebService开发,我们至少有两种选择:SOAP/WSDL/UDDI系列的: REST风格架构系列的 !!! 在Bioinformatics(生物信息学)领域,WebService是很重要的一种数据交换技术,未来必将更加重要.目前EBI所提供的WebService就分别有SOAP和REST两种方式的服务,

web.py中实现类似Django中的ORM的查询效果

Django中的对象查询 Django框架自带了ORM,实现了一些比较强大而且方便的查询功能,这些功能和表无关.比如下面这个例子: class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') >>> Question.objects.all() >>> Question.ob

tornado web框架

tornado web框架 tornado简介 1.tornado概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快.得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架.我们开发这个 Web 服务器的主要目的就是为了处理 F

Python自动化运维之26、Django系列-Web框架本质

一.Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf-8 import socket def handle_request(client): buf = client.recv(1024) client.send("HTTP/1.1 200 OK\r\n\r\n") client.send("Hello, Seven"

tornado—web框架基础入门

一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关有用工具及优化. Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快.得利于其非阻塞的方式和对 epoll 的 运用,Tornado 每秒可以处理数

windows下如何快速搭建web.py开发框架

在windows下如何快速搭建web.py开发框架 用Python进行web开发的话有很多框架供选择,比如最出名的Django,tornado等,除了这些框架之外,有一个轻量级的框架使用起来也是非常方便和顺手,就是web.py.它由一名黑客所创建,但是不幸的是这位创建者于2013年自杀了.据说现在由另外一个人在维护和更新.现在就来了解一下windows下如何搭建web.py开发环境. 一.安装web.py 在 https://github.com/webpy/webpy上下载web.py安装包.