有人可以向我解释一下当前的 python webframworks 是如何组合在一起的吗?
我听说过的三个是 CherryPy、TurboGears 和 Pylons。但是我很困惑,因为 TurboGears 似乎使用 CherryPy 作为“控制器”(尽管 CherryPy 本身不是一个框架吗?),并且 TurbGears 2 将构建在 Pylons 之上(我认为这样做一样?)。
有人可以向我解释一下当前的 python webframworks 是如何组合在一起的吗?
我听说过的三个是 CherryPy、TurboGears 和 Pylons。但是我很困惑,因为 TurboGears 似乎使用 CherryPy 作为“控制器”(尽管 CherryPy 本身不是一个框架吗?),并且 TurbGears 2 将构建在 Pylons 之上(我认为这样做一样?)。
当然还有更多。
这是一个全面的列表和详细信息!
从上面的链接中提取:
流行的全栈框架
Web 应用程序可以使用基本 HTTP 应用程序服务器、数据库等存储机制、模板引擎、请求调度程序、身份验证模块和 AJAX 工具包的组合。这些可以是单独的组件,也可以在高级框架中一起提供。
这些是最流行的高级框架。其中许多包含 WebComponents 页面上列出的组件。
Django (1.0 Released 2008-09-03) 一个高级 Python Web 框架,鼓励快速开发和干净、实用的设计
Pylons(0.9.6.2 发布于 2008-05-28)一个轻量级的 Web 框架,强调灵活性和快速开发。它结合了 Ruby、Python 和 Perl 领域的最佳理念,提供了一个结构化但极其灵活的 Python Web 框架。它也是利用新兴 WSGI 标准的首批项目之一,该标准允许广泛的重用和灵活性,但前提是您需要它。开箱即用的 Pylons 旨在使 Web 开发快速、灵活和简单。Pylons 建立在 Paste 之上(见下文)。
TurboGears (1.0.4.4 发布于 2008-03-07) 您一直在寻找的快速 Web 开发巨型框架。结合了 CherryPy、Kid、SQLObject 和 MochiKit。查看网站后查看:快速入门手册
web2py(当前版本 1.43) 一个包中的所有内容,没有依赖关系。可以通过提供的 Web 界面完成应用程序的开发、部署、调试、测试、数据库管理和维护。web2py 没有配置文件,不需要安装,可以在 U 盘上运行。web2py 将 Python 用于模型、视图和控制器,具有用于管理错误的内置票证系统、国际化引擎,通过 ORM 抽象层与 MySQL、PostgreSQL、SQLite、Oracle、MSSQL 和 Google App Engine 一起使用。web2py 包括处理 HTML/XML、RSS、ATOM、CSV、RTF、JSON、AJAX、XMLRPC、WIKI 标记的库。生产就绪,能够上传/下载非常大的文件,并且始终向后兼容。
Grok(0.13 于 2008-06-23 发布)基于现有的 Zope 3 库构建,但旨在提供更轻松的学习曲线和更敏捷的开发体验。它通过强调约定而不是配置和 DRY(不要重复自己)来做到这一点。
Zope(2.10.4 2007-07-04 发布,3.3.1 2007-01-14 发布,Zope 3.4.0c1 2008-01-31 发布) 作为 Python Web 框架的鼻祖,Zope 已经成长为一个框架家族这些年。Zope 1 于 1999 年发布。Zope 2 既是 Web 框架又是通用应用程序服务器,如今它主要由 ContentManagementSystems 使用。Zope 3 既是一个独立的框架,也是相关库的集合,这些库也包含在 Zope 2 的较新版本中。所有的 Zope 框架都包括 ZODB,一个 Python 的对象数据库。
试试 web2py。它是点击式的(你甚至不需要安装 Python,它自带)。您使用 Web 界面进行开发,几乎可以在任何地方进行部署,包括 iPhone、Oracle 和 Google App Engine。在尝试 web2py 之前,请尝试安装一些其他 Python 框架,您会更加欣赏它。
CherryPy 不是一个全栈 Web 框架(例如 Django),实际上它不是一个 Web 框架,而是一个 HTTP 框架。使用 CherryPy 编写 Web 应用程序很像用 Python 编写常规的面向对象应用程序。此外,CherryPy 有它自己的生产就绪的 WSGI Web 服务器,它也可以用于使用其他框架编写的应用程序,因此围绕 CherryPy 作为一个框架感到困惑。
如果您正在寻找一个从头到尾的解决方案,那么值得一提的是,该领域的领导者是Django
您是否尝试过 FastAPI。它是一个现代、快速(高性能)的 Web 框架,用于基于标准 Python 类型提示使用 Python 3.6+ 构建 API。
非常容易学习,非常强大和轻量级。 https://fastapi.tiangolo.com/
我一直在为我的应用程序使用它,它似乎与 Flask 相似,但非常健壮。
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
您还可以从这里找到很多帮助材料