Django-tastypie和djangorestframework之间有什么区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (31)

为什么要使用一个而另一个,来为Django应用程序公开一个API?

提问于
用户回答回答于

作为Django-REST框架的作者,我有一个明显的偏见;)但我对此的希望相当客观的观点如下:

Django REST框架

  • 提供HTML可浏览的自描述API。能够在浏览器中直接导航和与API交互是一个巨大的可用性胜利。
  • 试图保持接近Django成语,自始至终建立在Django类的基于类的视图之上。(TastyPie出现在Django的CBV存在之前,所以使用它自己的基于类的视图实现)
  • 我想认为底层的架构是很好的构造,解耦等等.

无论如何,两者都是好的。我可能会把Tastypie描述为给您提供一组明智的默认设置,REST框架非常好地解耦和灵活。如果打算在API上投入大量时间,我建议浏览一下文档&代码库,并尝试获得更适合你的感觉。

用户回答回答于

两者都是不错的选择。

对于过滤器,味道是更强大的开箱即用。如果有一个公开模型的视图,则可以执行Django风格的不等式筛选器:

http://www.example.com/api/person?age__gt=30

或OR查询:

http://www.example.com/api/mymodel?language__in=en&language__in=fr

使用djangorestframework可以实现这些功能,但是必须为每个模型编写自定义过滤器。

对于回溯,我对Django-REST框架印象更深刻。Tastypie试图用电子邮件settings.ADMINS关于例外情况DEBUG = False...。何时DEBUG = True,,,默认错误消息是序列化的JSON,这是很难读懂的。

扫码关注云+社区