更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号
分类: Python/Ruby
2021-01-12 11:07:26
Web开发是Python的应用领域之一,其包含着各种各样的开发框架,比如说Django、Flask、Bottle、Pyramid、Tornado等,其中Django、Flask、Tornado是最受欢迎的三大开发框架,那么Django和Flask、Tornado有什么区别呢?我们一起来看看吧。
Django框架和Flask框架的对比:
Flask是小而精的微框架,它不像Django那样大而全,如果使用Flask开发,开发者需要自己决定使用那个数据库ORM、模块系统、用户认证系统等,需要自己组成。
与采用Django开发对比,开发者在项目开始的时候可能需要花费更多的时间去了解、挑选各个组件,因此Flask开发的灵活度更高,开发者可以根据自己的需要去选择合适的插件。
当然Flask历史相对较短,第三方APP自然没有Django那么全面。
Django框架和Tornado框架的对比:
Tornado是一个Python Web框架和异步网络库,最初由FriendFeed 开发,其设计目的主要是为了解决10000个并发连接问题。
传统的Apache服务器会为每个HTTP请求连接一个线程,大多数Linux发行版本中默认线程堆大小是8MB,连接数量过多时,这种线程池的方式极易耗光服务器所有资源。
而Tornado会把等待资源的操作挂起,当数据准备好时,再回调相应函数。
和Django对比,使用Tornado编写异步代码对于开发者来说,没有Django或Flask编写同步代码那么简单、直接和高效。