在Django中使用api而不是Views

era*_*nga 5 django rest django-views tastypie

在Django中使用REST api而不是视图的主要优点是什么?

可以在REST api和Views(在一个应用程序中使用REST api,在另一个应用程序中使用Views)中混合使用吗?

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

dm0*_*514 3

我假设您在询问像 tastypie 或django-rest-framework这样的库的优点

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

django-rest-framework提供如下功能:

  • 模型序列化器(很像模型表单,是向用户呈现模型实例的快捷方式)
  • 内置API认证方案
  • 基于 Web 的免费 API 文档(只需导航到浏览器中的资源!就这么简单)

来自 django-rest-framework 站点:

您可能想要使用 REST 框架的一些原因:

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

最终,主要优点是 django-rest-api 包含许多工具,可以更轻松、更快速地创建 Rest api。django-rest-api 所做的一切你都可以自己实现。


两者混合使用肯定没问题。通常,一个 Django 项目会有一个提供 html 内容的应用程序和另一个通过 API 公开数据的应用程序