适用于小型团队的Python Web框架

时间:2011-06-01 20:26:50

标签: python django pylons cherrypy

我休息了4天,我将利用这段时间在python web框架中重写我们的RoR(Ruby on Rails)应用程序,只是为了好玩; - ](为什么不进行切换,RoR很棒,但不断改变所有时间,可能会筋疲力尽。)

我不太了解python web框架,我很高兴web.py,django,cherry.py,pylons / pyramid等等。我们的要求是(把一切都变得无关紧要):

  • MVC(严格与否)
  • 小团队(2-3人包括一名设计师)
  • 使用乐趣
  • REST支持
  • 多级缓存(数据库查询,页面缓存)
  • Nginx支持(X-Accel-Redirect文件下载)
  • 交通繁忙(1,200,000~观看次数)
  • Urls重新编辑(多域支持不仅是子域)
  • 如果不是炒作就不成问题
  • 如果没有插件则不成问题
  • SQL或NOSQL(尝试NOSQL很有趣)

那么你会建议什么?

5 个答案:

答案 0 :(得分:4)

我认为大多数大框架都符合您的要求,所以也许您可能会从您正在编写的应用程序的角度来看待它。你想要“开箱即用”工作多少钱。你需要用户管理吗?你需要一个管理面板等吗?

我使用Django,当你不想重写很多样板时它很棒。有时候尝试弯曲它来做你想做的事情可能有点乏味,但是一旦你了解它的错综复杂,你就可以很快完成任务。

无论如何使用Django:

答案 1 :(得分:3)

除了提到的其他框架(这些都是不错的选项)之外,您应该查看web2py。它是一个功能丰富的全栈框架,非常易于设置,学习和使用。它最初的灵感来自Ruby on Rails,所以如果你重写一个RoR应用程序,你会发现它比其他一些Python框架更舒服。以下是有关您的要求的一些细节:

该框架处于非常活跃的开发阶段(每2-4周发布一次新版本),但致力于保持向后兼容性,因此现有应用程序不会在升级时中断。如果您有任何疑问,可以从友好且反应迅速的mailing list获得大量帮助。

答案 2 :(得分:1)

我会推荐DJANGO或TurboGears。

答案 3 :(得分:0)

我认为任何主要的Web框架都不会出错。就我个人而言,我最常使用Django并且倾向于那种方式,ORM非常棒,它的哲学/设计与我个人的偏好紧密相关。但是,如果你想走另一条路线,bottle是一个非常有趣的轻量级微框架,我发现很高兴与之合作。如果你想使用NoSQL路由,MongoDB可以提供很好的Python支持。 PyMongo非常出色(以及从Python使用MongoDB的推荐方法),MongoEngine是一个很好的小ORM(如果你关心那种东西)。

答案 4 :(得分:0)

在你提到的框架中,Django拥有最强劲的势头,最有可能符合你的Rails背景框架的理想。我的意思是它有助手,你可以快速生成你的表格,虽然没有脚手架。 (事实上​​,Django的方式比Rails中的脚手架好一点,因为你可以使用它的全部或部分)

它具有良好的ORM和许多辅助方法,并且是最好的功能之一,它在您定义模型后具有功能齐全的管理界面。即使在开发网站时,您也可以开始移植数据。

它还提供出色的用户支持,包括权限,访问控制,组,用户配置文件。

创建自己的中间件和上下文处理器很容易(也很有趣),这些处理器允许您将经常重用的部分抽象为框架的插件。

Django没有你上面指定的唯一功能是NoSQL支持。这只是一半的事实。如果您想为应用程序的某些部分使用非关系数据库,例如会话存储,则可以。如果你想将它作为你的专属后端使用,除非你用django-nonrel修补Django,否则你将丢失一些Django的强大功能。

我使用过涡轮齿轮,这是你提到的其他几种选择的组合。该社区有一些很棒的人,但他们目前正在经历一次重大的架构改造,老实说,他们只是没有像Django那样得到开发人员的关注。