既然 Django 模板可用,为什么我们需要 Django REST 框架?

Ali*_*ama 2 django-rest-framework

我有一个关于 REST API 的问题,如果您能帮助我,我将不胜感激。

众所周知,Django 提供了一个模板引擎和模板标签,以将 python 数据类型包含在 HTML 文件中以向用户呈现数据。输出将是一个 HTML 文件,该文件通过 HTTP 发送到客户端,浏览器呈现该 HTML 并将数据呈现给用户。记住这一点,我有点不清楚为什么我们实际上需要 REST API。在什么情况下用户更喜欢接收 JSON 文件而不是 HTML 文件?我知道 JSON 文件比 HTML 有一些优势,但我不明白的是何时需要它。

Sur*_*sta 8

使用 DRF 的常见情况是:

  1. 您正在为第三方开发人员创建一个面向公众的外部 API,以访问您网站中的数据,并且您希望输出他们可以在其应用程序中使用的 JSON,而不是 HTML。

  2. 您正在进行移动开发,并且希望您的移动应用程序向 Django 后端发出 GET/PUT/POST 请求,然后将后端输出数据(通常为 JSON)到移动应用程序。由于您不想将 HTML 传回移动应用程序,因此您可以使用 DRF 来有效创建移动应用程序可以调用的 REST API。

  3. 您正在创建一个 Web 应用程序,但您不想使用 Django 模板语言。相反,您希望使用 Django ORM,但将所有内容输出为 JSON,并由 JavaScript MVC 框架(例如 React、Backbone、AngularJS 等)创建前端。在这些情况下,您可以使用 DRF 输出 JavaScript 框架可以处理的 JSON 。