Django、Flask、Tornado的区别?
2024-09-02 16:00:45
Django:Python 界最全能的 web 开发框架,battery-include 各种功能完备,可维护性和开发速度一级棒。常有人说 Django 慢,其实主要慢在 Django ORM 与数据库的交互上,所以是否选用 Django,取决于项目对数据库交互的要求以及各种优化。而对于 Django 的同步特性导致吞吐量小的问题,其实可以通过 Celery 等解决,倒不是一个根本问题。Django 的项目代表:Instagram,Guardian。
Flask:微框架的典范,号称 Python 代码写得最好的项目之一。Flask 的灵活性,也是双刃剑:能用好 Flask 的,可以做成 Pinterest,用不好就是灾难(显然对任何框架都是这样)。Flask 虽然是微框架,但是也可以做成规模化的 Flask。加上 Flask 可以自由选择自己的数据库交互组件(通常是 Flask-SQLAlchemy),而且加上 celery +redis 等异步特性以后,Flask 的性能相对 Tornado 也不逞多让,也许Flask 的灵活性可能是某些团队更需要的。
Tornado:天生异步,性能强悍是 Tornado 的名片,然而 Tornado 相比 Django 是较为原始的框架,诸多内容需要自己去处理。当然,随着项目越来越大,框架能够提供的功能占比越来越小,更多的内容需要团队自己去实现,而大项目往往需要性能的保证,这时候 Tornado 就是比较好的选择。Tornado项目代表:知乎。
最新文章
- 查看当前文件系统 df -lhT -B G
- android: 实现跨程序数据共享
- 谈谈对从业IT行业看法
- about opencl
- poj3041,poj2226
- [转]IBInspectable / IBDesignable
- [置顶] hdu3018解题报告--也是白话几笔画学习总结
- [Java][Android][Process] 分享 Process 运行命令行封装类型
- 在.NET Core 上运行的 WordPress
- 项目管理之 使用 appledoc 生成开发文档
- 聊聊Servlet、Struts1、Struts2以及SpringMvc中的线程安全
- kali下的webshell工具-Weevely
- 2019/04/06 BJ省选模拟DAY1
- android与c#之间scoket获取数据进行赋值显示的问题
- 20175310 MyCP(课下作业,必做)
- mysql 替换字符中部分字符,替换使用指定字符
- python 线程,进程28原则
- 线程Thread类
- win7 忘记密码
- file.replace
热门文章
- Java设计模式:23种设计模式全面解析(超级详细)
- chrome浏览器调试js,结果Sources里面找不到js文件解决办法
- Java对数组和列表的排序1.8新特性
- HDU1575--Tr A(矩阵快速幂)
- SQL的积累
- [BZOJ1718]:[Usaco2006 Jan] Redundant Paths 分离的路径(塔尖)
- 错误	NETSDK1007	找不到“E:\Project\MyProject\MyProject.Common\MyProject.Utility.csproj”的项目信息。这可以指示缺少一个项目引用。	MyProject.Data C:\Program Files\dotnet\sdk\2.2.107\Sdks\Microsoft.NET.Sdk\targets\Microsof
- Android NDK下载
- PADS LAYOUT的一般流程
- OpenStack Nova 高性能虚拟机之 NUMA 架构亲和