Django、REST和Web开发

Django、REST和Web开发,django,rest,Django,Rest,我对web开发还不熟悉,但最近使用Django(我很喜欢它)进行开发的速度非常快。然而,虽然Django很容易使用,而且学得也很快,但恐怕有些概念我不太了解,尤其是REST和RESTful web服务。我经常听说这些术语,我认为它们对现代网络应用很重要,我想知道它们的基本含义,我应该何时使用它们,以及我应该如何使用它们(包、插件等) “我的web应用”包含以下功能: 讨论板,到目前为止,我只使用模型层实现了它 消息传递到目前为止,我只使用模型层实现了它 付款(尚未实施) 日历(尚未实施) 现

我对web开发还不熟悉,但最近使用Django(我很喜欢它)进行开发的速度非常快。然而,虽然Django很容易使用,而且学得也很快,但恐怕有些概念我不太了解,尤其是REST和RESTful web服务。我经常听说这些术语,我认为它们对现代网络应用很重要,我想知道它们的基本含义,我应该何时使用它们,以及我应该如何使用它们(包、插件等)

“我的web应用”包含以下功能:

  • 讨论板,到目前为止,我只使用模型层实现了它
  • 消息传递到目前为止,我只使用模型层实现了它
  • 付款(尚未实施)
  • 日历(尚未实施)

现在就到此为止。我什么时候应该考虑这些功能中的REST?

你可以深入了解这个主题,但当我想到它时,我想到了你的网站将提供的URL。至少对我来说,这是思考RESTful服务的简单方法。我还认为这是一个很好的方法来掌握Django&它是通用视图

以你的日历为例。使用django的通用视图,对日历应用程序采用RESTful方法,可能会实现如下URL:

# ListView
/calendar

# DetailView for a given item in the calendar
/calendar/<id>  

# UpdateView for an item
/calendar/<id>/update  

# DeleteView for an item
/calendar/<id>/delete  
#列表视图
/历法
#日历中给定项目的详细信息视图
/日历/
#项目的更新视图
/日历//更新
#删除项目的视图
/日历//删除

除了此之外,REST需要考虑使用的HTTP方法,因此您应该定义URL将接受的方法以便更好地控制交互。此外,如果对每个操作强制使用HTTP方法,则可以编写一个更通用的视图,该视图不会公开

/update
/delete
URL。但我认为更先进的方法,您可能希望从更明确的设计开始。

一旦你开始为你的应用程序编写一个一致的结构,那么你就可以轻松地创建通用函数,并进行扩展

关于这个主题,你可以读到很多东西,这取决于你对它的看法

如果您正在考虑构建能够提供API的东西,那么已经有了一个Django框架

但是如果你刚开始&只是想了解更多关于概念的知识,这总是一个好地方,最后看起来像是一个使用Django的很好的例子,希望它能帮助你


要理解资源的概念,请看一看

,如果说有一个“PUT”To/calendar//be update,“DELETE”是DELETE可能会更加RESTful,而不是每个操作都有一个特定的URL?谢谢您的反馈。我也经常听到“资源”这个词。您是否可以在我的示例中添加一个“资源”适合的示例?