Web框架
Python的主流Web框架是:
1.Django:
Django是一个高级的、全功能的 Web 框架,被广泛用于构建复杂而强大的 Web 应用程序。
它提供了许多内置的功能和工具,如管理员界面、身份验证、数据库ORM等,使开发者能够快速构建稳定、可扩展的应用程序。
2.Flask:
Flask 是一个简约而灵活的微型Web框架,专注于构建小型或中型的 Web 应用程序和 API。
相比于 Django,Flask更加轻量级,并允许开发者根据需要选择所需的插件和库,以便在项目中进行定制。
3.Pyramid:
Pyramid 是一个通用的 Web 框架,可以满足从小型到大型应用程序的需求。
它提供了一种灵活且可扩展的方式来构建 Web 应用程序,并支持各种功能,如URL路由、会话管理、表单处理等。
Pyramid提倡对应用程序结构的自由控制,并鼓励使用现有的Python工具和库来实现功能。
4.Tornado:
Tornado 并没有被完全淘汰出三大主流框架之一。
尽管 Django、Flask 和 Pyramid 是 Python 生态系统中最受欢迎的 Web 框架,但 Tornado 仍然有其独特的优势和用途。
Tornado 是一个高性能的异步Web框架,它以支持并发处理和非阻塞IO操作为目标。
它经常用于构建高度可扩展且具有实时响应需求的应用程序,例如聊天应用、实时消息传递系统和实时分析工具等。
由于其出色的性能和强大的异步功能,Tornado 在特定场景下仍然被广泛使用。
虽然 Django、Flask 和 Pyramid 更加通用、适用于各种类型的 Web 应用程序,
但 Tornado 的专长在于处理大量并发连接和实时性要求较高的应用。
总结:
1.django
特点:大而全,自带的功能特别多,即:庞然大物
不足:有时候显得笨重
2.flask
特点:短小精悍,自带的功能非常少,
但是它第三方的模块特别多,如果将flask第三方模块全部加起来完全盖过django
不足:比较依赖第三方的开发者,而且兼容性问题不容小觑
3.tornado
特点:异步非阻塞,支持高并发(甚至可以开发游戏服务器)
不足:自行了解...
因此,根据项目需求和技术要求,开发者可以根据情况选择合适的框架,并在需要时考虑使用 Tornado 来满足特殊的需求。
这些框架都具有优秀的生态系统和活跃的开发社区,且得到了广泛的应用和支持。选择哪个框架取决于项目需求、开发团队的喜好以及个人技能水平。
补充:
我们从手动搭建web框架中可知,框架主要是下面部分组成
A部分:socket部分
B部分:路由与视图函数对应关系(路由匹配)
C部分:模板语法
django
A部分用的是别人的(wsgiref模块)
B部分用的是自己的
C部分用的是自己的(没有jinja2模块好用,但是也很方便)
flask
A部分用的是别人的(werkzeug,而werkzeug内部还是wsgiref模块)
B部分用的是自己的
C部分用的是别人的(jinja2模块)
tornado
A、B、C部分都是自己写的