为数据库繁重的应用程序选择哪个python项目

时间:2011-05-25 11:45:36

标签: python web-applications web-frameworks

我计划在python中开发一个相当数据库的(~100个表)Web应用程序。重点是为编辑或浏览数据的人员提供一个好的和任务优化的界面。其他重点是:

  • 处理大量数据和复杂查询。
  • 国际化(翻译,时区,货币)
  • 邮件(批量发送电子邮件和通知)
  • 轻松集成到其他网站(从数据中提取数据或将数据推送到应用程序)
  • 基于角色的身份验证方案。 (理想情况下,一次强制执行一个角色)
  • 创建自定义表单和工作流来处理数据应该简单快捷(对于python程序员)。

我已经阅读了很多关于django,turbogears,金字塔,网络核心......,但我仍然很难找到从哪里开始。

我目前的评价表明,turbogears是最佳选择。金字塔似乎无法学习。 Django似乎过于专注于出版。 WebCore似乎有点不成熟,以此为基础。

我忽略了什么吗?还有其他更合适的python框架吗?我的一些信息是否完全错误?您会为此项目选择哪个框架?为什么?

4 个答案:

答案 0 :(得分:3)

Imo唯一可能是“太”出版导向的django部分是管理员,但我看到很多django应用程序做得很整齐。

Django有很多应用程序可以覆盖您想要做的事情,但您可能找到的唯一障碍是:处理大量数据和复杂查询。你可能会离开django ORM土地,但你甚至可能会离开SQLAlchemy土地。大多数这些项目都使用ORM,因此我首先考虑SQLAlchemy,并评估如何根据您的需要使用它。

其次,我将浏览以下项目的教程,阅读它们是好的,但是一个小的教程/项目(或迷你原型)是查看项目是否适合您的编程风格的唯一方法:金字塔,turbogears和django。他们拥有最大的社区。最好的工具将是您感觉更舒适的工具。他们都拥有优秀,优秀的文档,良好的支持性社区,并且对于可靠的项目而言已经足够成熟,并且对于非常微妙的差异,您可能可以根据自己的需要使用其中任何一个。

答案 1 :(得分:2)

我必须同意你的观点:如果你已经有了数据库模型,那么Django可能不是最佳选择。

从数据库绑定开始,无论您选择哪种框架,SQL Alchemy都绝对值得一试。

列表的一些补充:

  • Web.py - 一个小的低层,但是一个很好的,成熟的框架(对于SQLAlchemy的用法,请参阅cookbook on SQLAlchemy
  • Tornado - 非常好的性能,支持Websockets,这可能是某些应用程序的关注点。

编辑:现在我建议使用Flask而不是Web.py.龙卷风也非常适合它。

答案 2 :(得分:0)

表的数量与速度等无关,与框架的选择无关。建议:在数据库和应用程序之间使用SQLAlchemy作为ORM。去金字塔作为网络框架。金字塔 简单,文档齐全,测试且各方面都非常灵活。使用“漏勺”+“变形”插件可以轻松创建表格等。

答案 3 :(得分:0)

我的直觉说你想使用SQLAlchemy作为ORM。 Turbogears开箱即用,可能是“非Django”领域最大的玩家。

为了(或者除了!)Django的ORM,还有一些关于拉入SQLAlchemy的工作,但我不知道当前的工作是什么(快速的谷歌搜索发现2008-2009的文章是最热门的点击)< / p>