【问题标题】:Is there any added advantage of using djangorestframework over JsonResponse?与 JsonResponse 相比,使用 djangorestframework 有什么额外的优势吗?
【发布时间】:2021-08-22 14:05:56
【问题描述】:

我是 Django 和 API 创建的新手。我想弄清楚是使用djangorestframework 还是只使用JsonResponse 更好。我从Digital Ocean's tutorial 得到了djangorestframework 的建议,但也发现了JsonResponse,这似乎更简单,因为我不必安装另一个包。

目标:我希望能够为网络和移动应用程序提供用户信息。

我看到这个postdjangorestframework 提供了一些原因,我将其粘贴在下面以防万一。

使用 DRF 的常见情况有:

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

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

3)您正在创建一个网络应用程序,但您不想使用 Django 模板语言。相反,您想使用 Django ORM 但输出 一切都作为 JSON 并让你的前端由 JavaScript MVC 创建 框架,例如 React、Backbone、AngularJS 等。在这些情况下,您 可以使用 DRF 输出 JavaScript 框架可以处理的 JSON。

【问题讨论】:

    标签: json django rest serialization django-rest-framework


    【解决方案1】:

    DRF 基本上为您提供了许多功能来制作原始 django 中没有的 API。

    例如:

    • 序列化器:制作序列化器的一种声明方式(django 风格,如声明模型),当你使用JsonResponse 时,你必须告诉任何地方要序列化什么,使用序列化器你必须导入它并使用它,还有这个序列化器也可以保存/更新对象。还支持 ORM 源​​来连接您的模型(想想用 JsonResponse 将具有嵌套关系的模型序列化有多么困难)。

    • Web 可浏览 API,您可以看到所有可用的端点。

    • 要安装和使用的第三方包:https://www.django-rest-framework.org/community/third-party-packages/#existing-third-party-packages

    【讨论】:

      猜你喜欢
      • 2015-07-20
      • 2018-10-08
      • 2012-12-09
      • 1970-01-01
      • 2010-09-24
      • 2010-12-27
      • 2015-04-06
      • 2013-05-09
      • 2017-05-29
      相关资源
      最近更新 更多