繁体   English   中英

Django RESTful API - django-piston vs. django-tastypie

[英]Django RESTful API - django-piston vs. django-tastypie

我们正在为Django项目寻找一般的RESTful API解决方案。 我们首先使用API​​来进行网站上的Ajax调用,然后再使用移动应用程序,外部应用程序等等。

我发现了两个似乎被广泛使用的模块。 django-pistondjango-tastypie

从我读到的,活塞似乎更老,因此更成熟但可能有点过时?! 虽然tastypie相对较新并且记录良好。

什么是最好的选择? django-pistondjango-tastypie 对我们来说很重要(按优先级排序):持续维护源,文档,稳定性和易用性。

编辑(2013年7月16日):

一年多以后,我们有一个明显的赢家。 起初我们去了tastypie。 我们有点喜欢。 但经过半年左右的时间,我们转向了即将到来的django-rest-framework并且从未回头。

我们最喜欢的是:

  • 很好的文档

  • 积极的社区

  • 干净的设计(基于django基于类的视图)

  • 用于开发和调试的可浏览API

我们非常依赖API,因此支持(将来)是我们主要关注的问题之一。 我们遇到了维护者 - 汤姆克里斯蒂 - (在线和离线),他似乎非常致力于这个项目。 所以我们觉得使用django-rest-framework非常舒服。

比较它们的一个很好的资源是http://www.djangopackages.com/grids/g/api/

Django-tastypie肯定是现在的保存选择。

就个人而言,如果你使用django 1.3,我会主张看一下django-rest-framework ,因为它使用了基于类的新视图。 djangopackages.com的比较页面显示它具有良好的参与和活动。 而且,哇,它肯定有一个很好的可浏览的API接口。

我对此没有经验,但我相信Pydanny:

django-piston近两年来几乎没有得到支持。 这是永恒的,解决多个问题的叉子数量是引起恐慌的原因。 因此,在这个时候,我推荐django-tastypie。 它是最新的,有非常好的文档,支持OAUTH,并在Django Packages thunderdome中获得第二名(它获得了近3倍的积分!)。 另一个需要考虑的工具是Django Rest Framework,它与django-tastypie一样好,但缺乏OAUTH支持。

在django-piston前方,约书亚金斯伯格接管了缰绳,我们希望能再次看到一些动作。 在这种情况下,我将能够删除博客文章的这一部分。

来自Pydanny的博客

用django Piston,tastypie和django webmachine Django tastypie摇滚实现了API! 话虽如此,我认为虽然当你的API模型靠近你的模型时,tastypie非常好,但是一旦你想要开箱即用,做一些事情会有点复杂。 对于某些问题有一些解决方法,而其他问题则需要做更多的弯曲而不是构建。 它可能仍然涵盖了50%的django用例。

Afaik Webmachine仿照流行的erlang webmachine,但最近并不是非常活跃。 因此,活塞和活动会产生一些活动和活动。 活塞有点灵活,但是tastypie的移动速度非常快,而且我认为它有一个非常简单的API。

我的建议是在tastypie中快速实现API的原型,看看它是否涵盖了你想要做的事情。

Django REST框架 2.0于2012年10月发布 ,现在支持OAuth开箱即用。 我真正喜欢的是Web可浏览的API ,它在开发API时非常有用,但在有人实现您的API时也是如此。 它与使用Django管理站点检查模型的结构和数据,但随后是您的API相当。 文档也非常好。

从他们的网站:

Django REST框架是一个功能强大且灵活的工具包,可以轻松构建Web API。

您可能希望使用REST框架的一些原因:

  • Web可浏览API为您的开发人员带来了巨大的可用性。
  • 验证策略包括开箱即用的OAuth1a和OAuth2。
  • 支持ORM和非ORM数据源的序列化。
  • 可自定义 - 如果您不需要更强大的功能,只需使用常规的基于功能的视图。
  • 丰富的文档和良好的社区支持。

查看他们的快速入门指南,快速了解它的工作原理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM