用户制作的网站内容,可能是大量数据集 - Zope / Plone或Django?

时间:2009-08-16 16:33:39

标签: django dataset plone vps zope

我希望制作一个类似于“What is on”网站的网站。

计划是场地可以在网站上注册一个帐户,然后通过他们自己的“管理员”部分上传/发布他们所有的最新活动。我希望非常多的场地会报名,每个场地都会有大量的活动,从而产生一个非常大的数据集。

然后我希望最终用户能够通过网站搜索所有具有特定类型事件的场所,并且还要通过移动iphone / android应用程序进行搜索。

我最初在资源有限的VPS上托管这个系统,为了“升级”,我必须扩大所有因素(我不能只是在没有支付额外的带宽/磁盘空间等的情况下重新加载RAM。也),但我打算按要求升级。

经过大量研究,我正在寻求实现的两个最佳选择是Zope / Plone或Django + PostgreSQL(从头开始的网站),我以前都没用过。

我的问题是,根据人们的经验,'最适合此类网站平台和数据集的内容。'

我可以花大部分时间从头开始学习其中任何一个,但是我不能不得不改变并从头开始用不同的框架重新开始。

总而言之,我的目标是(如果不切实际,请告诉我):

  • 初始成本低。 (换时间输入)
  • 用于数据添加的场地用户管理部分。
  • 用户登录发表评论/评论。
  • 可扩展的。
  • 最终大数据集。
  • 在有限的资源上快速运行。
  • 使用面向未来的框架。
  • 随着时间的推移,相对容易维护/扩展数据模型。

3 个答案:

答案 0 :(得分:2)

您必须优先考虑您的要求。

例如,“最终大数据集”并不是非常有趣。如果你达到“大”,这是一件好事。从“大”开始作为头号要求(当你根本没有任何实际数据时)是限制性的。它会在您不需要的地方创造复杂性。

此外,“使用面向未来的框架”是不可能的。没有什么是面向未来的。没有。每天都有一个非零的概率,即有人会创建一个非常酷的新框架,以至于所有以前的框架都被认为是愚蠢的,并且会被立即丢弃并被忽略。

您需要“面向未来”的数据。不是你的框架。这很容易。

修订排名。 这是我建议的您的要求排名。

  1. 初始成本低。 (换时间输入)
  2. 可扩展的。
  3. 随着时间的推移,相对容易维护/扩展数据模型。
  4. 在有限的资源上快速运行。
  5. 这些并不有趣:

    • 使用面向未来的框架。 没有这样的事情。
    • 最终大数据集。 等到你有一些意义,如果“大”。这也是“可扩展”的定义。不要两次包含该要求。

    这些是您的应用的要求,而不是框架。

    • 用于数据添加的场地用户管理部分。
    • 用户登录发表评论/评论。

    <强>结论即可。 这些似乎指向Django。成本低,扩展性好,模型易于维护,如果您将静态内容(图像,.css文件等)与动态内容隔离,它可以快速运行。

    此外,Django的内置管理员可能会处理“场地用户管理员”(目前尚不清楚这是什么,但它可能是Django的管理员所做的。)

    最后,用户登录(和相关安全性)已经是Django的一部分。您仍然需要编写(或查找)评论/评论的应用程序。

答案 1 :(得分:1)

  

相对容易维护/扩展   数据模型随着时间的推移

对我来说,这会建议Zope,因为'Zope 对象数据库'允许你在Python中chuck data objects围绕你的心灵内容。

  

[Django]如果你分开就会跑得很快   静态内容(图像,.css文件,   等)来自动态内容

Zope / Plone在缓慢,静态内容的隔离方面声名鹊起,因为Django在Zope / Plone中具有相同的优势。

  

最后,用户登录(和相关的   安全性已经是Django的一部分。

Zope3和Plone还拥有非常强大的内置用户登录和管理组件,并且可以通过组件架构轻松扩展。

  

初始成本低。 (在交易时间   输入)

这很困难。几天后,Plone将拥有一个基本的站点,运行和皮肤。但是,根据我的经验,Plone站点非常需要RAM,即使是小型站点也会在大多数便宜的虚拟主机中快速耗尽RAM(256 / 512mb)的基本数量。

一个定制的Zope3网站可能会更好,但是如果你不熟悉Zope,那么学习和运行会花费更长的时间。 (我建议从Grok开始)

这两种技术都受到所谓的“Z形学习曲线”的影响。它很容易起床和运行,但有一些巨大的知识速度颠簸,以进一步下线(虽然它非常值得恕我直言)。

(注意:我有运行大型Zope3站点和一些小型企业Plone / Zope2站点的经验,但不使用Django)

答案 2 :(得分:0)

“随着时间的推移,相对容易维护/扩展数据模型”将成为使用Django的理由。我不是两个框架之一的专家,但对两者都有一些经验。如果您是Zope的新手,我认为修改和扩展Zope对象模型非常困难。我非常喜欢Zope和Zeo的架构可能非常有助于扩展您的应用程序,但如果没有Zope知识,我会选择Django。