Python Web框架混淆

10

请问有人能够解释一下当前Python Web框架是如何配合使用的吗?

我听说过的有三个框架分别是CherryPy,TurboGears和Pylons。但是我很困惑,因为TurboGears似乎将CherryPy用作“控制器”(尽管CherryPy本身也是一个框架?),而TurbGears 2将建立在Pylons之上(我认为它们做的事情是一样的?)。

5个回答

15

当然,还有更多内容。

这里是一个全面的列表和详细信息!

Python的Web框架

从上面的链接中提取:

流行的全栈框架

Web应用程序可能会使用基础HTTP应用程序服务器、像数据库这样的存储机制、模板引擎、请求分发器、身份验证模块和AJAX工具包的组合。这些可以是单独的组件,也可以在高级框架中一起提供。

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

Django(2008-09-03发布1.0版本)是一个高级Python Web框架,鼓励快速开发和清晰、实用的设计。

Pylons(2008-05-28发布0.9.6.2版本)是一个轻量级Web框架,强调灵活性和快速开发。它结合了Ruby、Python和Perl世界中最好的思想,提供了一个结构化但非常灵活的Python Web框架。它还是第一个利用新兴的WSGI标准的项目之一,该标准允许广泛的重用和灵活性,但仅在需要时才能实现。Pylons旨在使Web开发快速、灵活和简单。Pylons是建立在Paste之上的(见下文)。

TurboGears(2008-03-07发布1.0.4.4版本)是您一直在寻找的快速Web开发超级框架。结合了CherryPy、Kid、SQLObject和MochiKit。查看网站后,请查看:QuickStart手册

web2py(当前版本为1.43)提供了一个完整的包,没有依赖关系。应用程序的开发、部署、调试、测试、数据库管理和维护可以通过提供的Web界面完成。web2py没有配置文件,不需要安装,可以从USB驱动器运行。web2py使用Python作为模型、视图和控制器,具有内置的故障管理系统、国际化引擎,可以与MySQL、PostgreSQL、SQLite、Oracle、MSSQL和Google App Engine配合使用,通过ORM抽象层。web2py包括处理HTML/XML、RSS、ATOM、CSV、RTF、JSON、AJAX、XMLRPC、WIKI标记的库。生产就绪,能够上传/下载非常大的文件,并且始终向后兼容。

Grok(2008-06-23发布0.13版本)建立在现有的Zope 3库之上,但旨在提供更易学习的曲线和更敏捷的开发体验。它通过强调惯例优于配置和DRY(不要重复自己)来实现这一点。

Zope(2007-07-04发布2.10.4版本,2007-01-14发布3.3.1版本,2008-01-31发布Zope 3.4.0c1版本)作为Python Web框架的鼻祖,多年来已经发展成为一个框架家族。Zope 1在1999年发布。Zope 2既是Web框架,也是通用应用程序服务器,今天主要由内容管理系统使用。Zope 3既是一个独立的框架,也是一组相关的库,这些库也包含在较新版本的Zope 2中。所有Zope框


7

试试web2py吧。它是一款点对点的工具(你甚至不需要安装Python,它已经内置了)。你可以使用Web界面进行开发,并且几乎可以部署到任何地方,包括iPhone、Oracle和Google App Engine。在尝试web2py之前,先安装一些其他Python框架,你会更加欣赏它。


6

CherryPy不是一个完整的Web框架(例如Django),实际上它不是一个Web框架,而是一个HTTP框架。使用CherryPy编写Web应用程序就像在Python中编写常规面向对象的应用程序一样。 此外,CherryPy拥有自己的生产就绪的WSGI Web服务器,也可以用于使用其他框架编写的应用程序,因此导致了关于CherryPy作为框架的混淆。


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

@jpartogi 无能为力... 哈哈! - user860672

0

你尝试过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"}

这里可以找到一些视频教程

你也可以从这里找到很多帮助资料


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接