12

我是一名受过培训的计算机程序员,但已经离开 Web 开发一段时间了。我正在对各种 Python Web 开发框架进行一些背景研究。我知道 Django、Grok / Zope 3 和 Pylons 都是很好的可靠框架,但在使用它们的背景下几乎没有。有人可以向我解释每个框架在方法上的区别,以及与其他框架相比,其中一个亮点在哪里?

我的具体用例是构建一个 Web 应用程序,该应用程序将根据用户提供的各种信息向用户推荐产品。因此,它将需要相当多的用户输入,例如基本配置文件、产品偏好、尝试建立用户之间的社交关系。它还需要支持员工将带有标签功能的产品上传到系统中,然后与用户进行匹配。

最后一点,Plone 的某些部分是否有助于为非技术人员提供上传产品和产品描述的界面?一块Plone容易借吗?似乎我不应该重新发明轮子,让人们上传待售/推荐的物品以及一些描述物品的元数据。谢谢您的帮助。

4

3 回答 3

14

根据您的背景和要求,我建议您使用基于 Django 的http://pinaxproject.com/ 之类的东西。

Pyramid(Pylons 的继承者)是一个非常低级的框架,您需要选择库或自己编写所有应用程序代码。对于有经验的人来说,这是有道理的,并且可以让您完全控制您的代码。但是,如果您从头开始并且不熟悉可用的库,这将是一个障碍。

Django 和 Grok 都是高级框架,其中 Django 是更受欢迎的选择。如果您还不熟悉使用对象数据库或 URL 遍历,那么学习 Grok 会更费时间。

Plone 不适合您的用例。它是一个内容管理系统,而不是一个通用的 Web 框架。它使用的库很少可以在不同的上下文中重用,当然它的 UI 也没有。如果您想通过个性化内容提供引人入胜的用户体验,Plone 不适合您——这不是它的构建目标。

免责声明:我是 Plone 和 Zope 2 / Zope Toolkit 的发布经理,我使用过 Pyramid 但不是 Django。

于 2011-05-01T15:27:51.797 回答
4

Dolmen 项目是一个建立在 Grok 之上的 CMS。很简单,但是很少有人用它。如果您使用 Grok,您可以重用 GUI。

但正如 Hanno 所说,Grok 比 Django 更耗时。Django 的用户也比 Grok 多得多。

使用 Grok 的优势在于,您几乎无需编写 ZCML 并使用装饰器即可从 Zope 组件架构中获益。

使用 Pyramid/Pylons,您将获得一个非常简单的框架,仅此而已。它是一个解耦的框架,所以你可以自由使用任何你想要的模板引擎(Mako、Genshi、Jinja、Cheetah),你可以自由选择sqlalchemy、zodb、mongoDb等,你也可以自由选择url映射方案(遍历与 django 样式映射或两者的组合)。如果需要,您也可以在此处使用 ZCA。对于初学者来说,这可能会变得非常混乱或冗长。

Django 是一种单体框架,它为您提供了一种做事的方式。这就是为什么它很容易学习并且是一个非常好的选择。但是,根据我的经验,有时你会想要偏离 Django 标准,而如果不修补一堆东西就无法做到这一点。

而且,至于 Zope3,我建议您下载一份BlueBream并了解它对您的作用。

于 2011-05-02T06:56:32.627 回答
-1

作为 Plone 用户,我可以说在 Plone 中创建内容对象很困难。关于如何做的文档不多,而且很复杂。有些人建议使用 UML 和专门的 Plone 产品来简化它,但这会引入另一个依赖项。

我提到了内容对象的问题,因为您的“产品”(与 Plone 产品不同)可能会在 Plone 中表示为您需要自己编写的内容对象。

当用户和编辑以新闻文章、新闻稿、照片等形式输入和批准文本时,Plone 是最好的。在这种情况下,这些内容有预定义的内容对象,因此不需要自己编写。

——乔纳森·马克

于 2011-05-01T21:11:59.493 回答