2011-05-01 41 views
12

我是受过培训的计算机程序员,但已经离开了web开发一段时间。我正在做一些有关各种Python Web开发框架的背景研究。据我所知,Django,Grok/Zope 3和主塔都是很好的固体框架,但在与他们的后台工作方面没有多大作用。有人可以向我解释每种框架在方法上的差异,以及在与其他框架相比较时哪一个更为明显?Django与Grok/Zope3与主塔

我的具体使用案例是构建一个基于各种用户提供的信息向用户推荐产品的Web应用程序。因此,它将以基本概况,产品偏好等形式的用户输入的相当一部分,尝试建立用户之间的社交关系。它还需要支持员工将产品上传到系统中,并带有标签功能,然后才能与用户匹配。

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

回答

14

根据你的背景和要求,我建议你去的东西,如http://pinaxproject.com/这是基于Django的。

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

Django和神交都是高层次的框架,Django的是更受欢迎的选择。如果你不熟悉但使用对象数据库或URL遍历,神交耗费更多的时间去学习。

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

声明:我是Plone和Zope 2/Zope Toolkit的发布经理,并且使用金字塔而不是Django。

-1

作为一个Plone用户,我可以说在Plone中创建内容对象很困难。没有太多关于如何做的文档,它很复杂。一些人建议使用UML和专门的Plone产品来使其更容易,但是会引入另一种依赖性。

我提问题,内容对象,因为你的“产品”(不一样的一个Plone产品)可能会在Plone中被表示为这你就需要自己写的内容对象。

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

--Jonathan马克

+3

这不是很差的文件。最佳做法是将贴码代码生成器与ZopeSkel模板一起使用。非常直接。 – 2011-05-06 01:04:09

4

Dolmen project是CMS建立在神交的顶部。非常简单,但使用它的人很少。如果你使用Grok,你可以重用GUI。

但是正如Hanno所说,Grok比Django学习更费时。 Django的用户也比Grok多得多。

使用Grok的优势在于,您几乎可以从Zope组件体系结构中获益,而无需编写ZCML并使用装饰器代替。

随着金字塔/塔架,你会得到一个非常简单的框架,没有别的。它是一个分离的框架,所以你可以自由使用任何你想要的模板(Mako,Genshi,Jinja,Cheetah),你可以自由选择sqlalchemy,zodb,mongoDb等,并且你也可以自由选择url映射方案(遍历与Django风格映射或两者的结合)。如果你愿意,你也可以在这里使用ZCA。对于初学者来说,这可能会变得相当混乱或冗长。

Django是一种单一的框架,为您提供了一种方式来做东西。这就是为什么它很容易学习和一个很好的选择。但是,根据我的经验,有时你会偏离Django标准,如果不修补一些东西,就无法完成。

而对于Zope3,我建议您下载BlueBream的副本,以及它如何为您服务。