Python Webframework Confusion

问题描述 投票:10回答:5

有人可以向我解释一下当前的python webframworks如何组合在一起吗?

我听说过的三个是CherryPy,TurboGears和Pylons。但是我很困惑,因为TurboGears似乎将CherryPy用作“控制器”(尽管CherryPy本身不是一个框架吗?),并且TurbGears 2将基于Pylons构建(我认为是同样的事情?)。

python pylons cherrypy web-frameworks turbogears
5个回答
15
投票

当然还有更多。

这里是完整的列表和详细信息!

Web Frameworks for Python

从上面的链接中提取:

流行的全栈框架

Web应用程序可以使用基本HTTP应用程序的组合服务器,诸如数据库,模板引擎,请求调度程序,身份验证模块和一个AJAX工具包。这些可以是单个组件或提供在一个高级框架中在一起。

这些是最受欢迎的高级构架。其中许多包括WebComponents上列出的组件页面。

Django(1.0发布于2008-09-03)高级Python Web框架鼓励快速发展,干净实用的设计

Pylons(0.9.6.2发布于2008-05-28)a轻量级的Web框架强调灵活性和快速发展。它结合了来自Ruby,Python和Perl的世界,提供结构化但极端灵活的Python Web框架。它的也是第一个项目利用新兴的WSGI标准,允许大量重复使用灵活性,但前提是您需要。开箱即用,Pylons旨在Web开发快速,灵活且简单。塔架基于粘贴之上(请参见下文)。

TurboGears(1.0.4.4已发布2008-03-07)快速的Web开发您一直在寻找的大型框架。合并CherryPy,Kid,SQLObject和MochiKit。审查网站后签出:QuickStart Manual

web2py(当前为1.43版)一切都在一个包中,没有依赖性。开发,部署,调试,测试,数据库行政管理申请可以通过提供的网页界面。 web2py没有配置文件,不需要安装后,可以关闭USB驱动器。web2py对模型使用Python,视图和控制器,有一个内置票务系统进行管理错误,国际化引擎,可与MySQL,PostgreSQL,SQLite,Oracle,MSSQL和Google通过ORM抽象的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年1月14日发布,Zope 3.4.0c1于2008年1月31日发布)作为Python Web框架的祖父,Zope已成长为多年来的框架。 Zope 1原为于1999年发布。Zope2都是网络框架和通用应用服务器,今天是主要由ContentManagementSystems。 Zope 3是一个独立的框架和一个相关库的集合,其中也包含在较新的版本中Zope 2的版本。所有Zope框架包括ZODB,一个对象数据库对于Python。


7
投票

尝试使用web2py。只需单击即可(它附带了您甚至不需要安装Python)。您可以使用网络界面进行开发,并且几乎可以在所有地方进行部署,包括iPhone,Oracle和Google App Engine。在尝试使用web2py之前,请尝试安装其他Python框架,您将更加欣赏它。


6
投票

[CherryPy不是一个全栈的Web框架(例如Django),实际上它不是Web框架而是HTTP框架。使用CherryPy编写Web应用程序非常类似于使用Python编写常规的面向对象的应用程序。此外,CherryPy拥有自己的可用于生产的WSGI Web服务器,该服务器也可用于使用其他框架编写的应用程序,因此,围绕CherryPy作为框架的困惑。


2
投票

[如果您正在寻找一种从头到尾的解决方案,那么值得一提的是,该领域的领导者是Django


0
投票

您是否尝试过FastAPI。这是一个现代,快速(高性能)的网络框架,用于基于标准Python类型提示使用Python 3.6+构建API。

非常易学,功能强大且轻巧。https://fastapi.tiangolo.com/

我一直在为我的应用程序使用它,它似乎与Flask类似,但是非常健壮。

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
def read_root():
    return {"Hello": "World"}

Some Video Tutorials can be found here

您也可以从here中找到很多帮助材料>

© www.soinside.com 2019 - 2024. All rights reserved.