【问题标题】:In the context of django-rest-framework is the Web API different from the actual website?在 django-rest-framework 的上下文中,Web API 与实际网站不同吗?
【发布时间】:2012-12-27 09:09:20
【问题描述】:

我一直在研究 django-rest-framework。

告诉我我的印象是否正确。

它旨在帮助您为您的网络应用程序创建 RESTful API 端点。

这并不是为了生成您的实际网站。 rest_framework 中包含的基于类的视图(APIView、generics.ListCreateAPIView 等)不应该用于呈现给网页本身。

这是否意味着您应该有一组用于此 api 的 url 和另一组用于访问和导航网站的 URL?

【问题讨论】:

  • 实际上是一个非常重要的问题,值得向像我这样的新手明确说明这一点。如今,通过 RESTful 服务完成了如此多的通信,很容易忘记“内部”Django 的东西是由基于类的视图或基于函数的视图处理的,而 Django 与外界的通信是使用 RESTful 服务。 RESTful API 的典型示例是移动客户端,例如适用于 iPhone 或 Samsung Galaxy S4 的 NATIVE 应用程序试图访问您的网站
  • 您可以根据 Django REST 框架中的模板生成实际网站的内容。以下是根据官方文档的操作方法:django-rest-framework.org/api-guide/renderers/…

标签: django django-rest-framework


【解决方案1】:

它旨在帮助您为您的网络应用创建 RESTful API 端点。

是的

这并不是为了生成您的实际网站。 rest_framework 中包含的基于类的视图(APIView、generics.ListCreateAPIView 等)不应该用于呈现给网页本身。

是的

这是否意味着您应该有一组用于此 api 的 url 和另一组用于访问和导航网站的 URL?

没错

【讨论】:

  • 你是在这样复制一大堆代码吗?我试图从休息框架开始,并将网页/模板渲染结合到这些视图中。这很不方便,我以为我做错了什么,但实际上大部分都是一样的。获取对象,然后序列化并返回 json 或获取模板上下文并返回模板响应。
  • @JeffWong 好吧,这确实需要一些额外的编码。您可以使用基于类的视图使其变得简单和干燥
  • 好的,谢谢。最后一个问题:您是否在 ajax 调用中使用这些 api 端点?
  • @JeffWong 是的,在我的项目中我做
猜你喜欢
  • 2021-10-04
  • 1970-01-01
  • 1970-01-01
  • 2019-07-01
  • 1970-01-01
  • 2019-05-10
  • 1970-01-01
  • 2013-06-25
  • 2014-09-26
相关资源
最近更新 更多