Django vs. Grok / Zope3 vs. Pylons

时间:2011-05-01 13:39:46

标签: django plone zope grok

我是一名受过培训的计算机程序员,但已经离开网络开发一段时间了。我正在对各种Python Web开发框架进行一些背景研究。据我所知,Django,Grok / Zope 3和Pylons都是很好的实体框架,但几乎没有背景与他们合作。有人可以向我解释每个框架的方法上的差异,以及与其他框架相比时哪一个闪耀?

我的具体用例是构建一个Web应用程序,该应用程序将根据用户提供的各种信息向用户推荐产品。因此,它将以基本简档,产品偏好的形式花费相当多的用户输入,尝试在用户之间建立社交关系。它还需要支持员工将产品上传到具有标记功能的系统,然后可以与用户匹配。

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

3 个答案:

答案 0 :(得分:14)

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

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

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

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

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

答案 1 :(得分:4)

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

但正如Hanno所说,Grok比Django更耗时。另外Django的用户数量远远超过Grok。

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

使用Pyramid / Pylons,您可以获得一个非常简单的框架,而不是其他任何东西。它是一个分离的框架,所以你可以随意使用你想要的任何模板(Mako,Genshi,Jinja,Cheetah),你可以自由选择sqlalchemy,zodb,mongoDb等,你也可以自由选择网址映射方案(遍历与django样式映射或两者的组合)。如果需要,您也可以在这里使用ZCA。对于初学者来说,这可能会变得非常混乱或冗长。

Django是一种单一的框架,为您提供了一种方法。这就是为什么它容易学习和一个非常好的选择。但是,根据我的经验,你有时会达到你想要偏离Django标准的程度,如果不修补一堆东西就无法完成。

至于Zope3,我建议您下载BlueBream的副本以及它如何为您做。

答案 2 :(得分:-1)

作为Plone用户,我可以说在Plone中创建内容对象很困难。关于如何做的文档并不多,而且很复杂。有些人建议使用UML和专门的Plone产品,以使其更容易,但这又引入了另一种依赖。

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

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

- 乔纳森马克