在Django中使用api而不是Views

时间:2013-11-04 15:45:51

标签: django rest django-views tastypie

在Django中使用REST api代替视图的主要优点是什么

可以混合使用REST api和Views(一个app中的REST api和另一个app中的Views)?

或者我们是否需要为所有应用编写REST api?而不是混合REST和视图

1 个答案:

答案 0 :(得分:3)

我假设您在询问像tastypie这样的图书馆的优势或django-rest-framework

我从未使用过tastypie,但是对于REST api的django-rest-framework提供了很多开箱即用的功能,可以更快地开发这些api。

django-rest-framework提供了类似的内容:

  • 模型序列化器(很像模型表单,向用户呈现模型实例的快捷方式)
  • 内置API身份验证方案
  • 免费提供基于网络的API文档(只需浏览浏览器中的资源即可!)

来自django-rest-framework网站:

  

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

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

最终,主要优势在于django-rest-api包含许多工具,可以更轻松,更快速地创建休息api。你可以自己实现django-rest-api的一切。


两者混合绝对可以。通常,一个django项目将有一个提供html内容的应用程序和另一个通过API公开数据的应用程序