Python3web架构---Django、Tornado、Flask的比

原创
小哥 3年前 (2022-11-16) 阅读数 8 #大杂烩

Django框架:

主要功能大而全,许多组件是集成的,它属于全面框架。
优:

  1. Django走大而全方位、高开发效率的道路。它的MTV框架,来了ORM,admin后台管理,全自动管理后台(仅需使用)ORM,做一个简单的定义,可以自动生成数据库结构,全功能管理后台),自带的sqlite用于开发和测试的数据库和服务器提高了开发人员的超高开发效率。

  2. 重量级web框架,功能齐全,有自己的ORM以及模板引擎,template,view,支持jinja例如非官方模板引擎。

  3. 自带ORM使Django而且关系数据库耦合度很高,要使用非关系数据库,需要使用第三方库。

  4. 自带数据库管理app,session功能

  5. 成熟、稳定、高效的发展,相对Flask,Django整体关闭更好,适合企业级网站开发。python web框架先驱,第三方库丰富

缺点:

  1. template不是很有用
  2. 数据库用nosql不方便

它主要用于快速开发。他的亮点是快速发展、节约成本,,如果你想实现高并发性,你必须是对的。django进行二次开发,

Django是高标准的Python由编程语言驱动的开源模型。视图,控制器样式。Web应用程序框架,起源于开源社区。使用这种架构,程序员可以轻松快速地创建高质量、易于维护、数据库驱动的应用程序。

Django具体性能:

Django是高级的Python Web框架,鼓励快速开发和干净实用的设计。它由经验丰富的开发人员构建,可解决许多问题Web开发的麻烦,所以您可以专注于编写应用程序,而无需重新设计轮子。它是免费的、开源的。

  • 速度惊人。Django该设计旨在帮助开发人员尽快从概念到应用。
  • 满载。Django包含许多可用于处理常见问题的附加功能Web开发任务。Django负责用户身份验证、内容管理、站点地图、,RSS订阅源和许多其他现成任务
  • 确保安全。Django注意安全性,帮助开发人员避免许多常见的安全错误。这样的SQL注入、跨站点脚本、跨站点请求伪造和点击劫持。其用户身份验证系统提供了一种安全的方式来管理用户帐户和密码。
  • 高度可扩展。 网络上一些最繁忙的网站利用了这一优势Django快速灵活的扩展能力。
  • 难以置信的多功能性。公司、组织和政府使用Django构建从内容管理系统到社交网络再到科学计算平台的一切。
    参考: https://www.djangoproject.com/start/

Tornado框架:

主要特性是本机异步非阻塞。,在IO在密集型应用程序和多任务处理方面具有绝对优势,属于重点框架

  • Tornado它需要几个但精细的方向,具有卓越的性能和快速的速度。它是最著名的异步非阻塞设计方法。
  • Tornado两个核心模块:

iostream:对于非阻塞socket用于简单封装 ioloop: 对I/O 多路封装,它实现了单个案例。

  • websockets 长连接
  • 内嵌了HTTP服务器
  • 单线程异步网络程序,默认启动。CPU运行多个实例的数量;CPU多核的优势
  • 自定义模块

缺点:

  • 模板和数据库部分有许多第三方模块可供选择,这不利于作为功能模块进行封装。

Tornado是一个Python web框架和异步网络库,最初在FriendFeed发展通过使用非阻塞网络I/O,Tornado可以扩展到数以万计的开放连接,WebSocket以及其他需要与每个用户长时间连接的应用程序。

Flask框架:

主要特点是小巧轻便。,本机组件几乎0, 请参考三方提供的组件。Django 非常全面,它属于一个简短而简洁的框架, 轻量级,主要用于编写界面框架,实现前后分离,测试开发效率。

  1. Flask 是一个轻量级框架,自由、灵活、可扩展 WSGI 工具箱采用 Werkzeug ,模板引擎使用 Jinja2 。Flask使用 BSD 授权。
  2. 它适用于小型网站和web服务的API,开发大型网站没有压力,但架构需要自己设计。
  3. 与关系数据库的结合并不弱Django,而与非关系数据库的结合要好得多Django

Flask也被称为 “microframework” 因为它使用了一个简单的内核,。 extension 添加其他功能。Flask没有默认的数据库或表单验证工具。

对于初学者来说。第一个来自Django学习,然后学习Flask和Tornado。Django我提前为我们做了很多,我会更快地开始。

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除