【问题标题】:Django, REST, and Web DevelopmentDjango、REST 和 Web 开发
【发布时间】:2015-12-15 23:28:33
【问题描述】:

我是 Web 开发的新手,但最近使用 Django(我爱上了它)很快就开始使用它。然而,虽然 Django 很容易上手并且学起来很快,但恐怕有些概念我不太了解,尤其是 REST 和 RESTful Web 服务。我经常听到这些术语,我认为这些术语对现代 Web 应用程序很重要,我想基本上知道它们的含义,何时应该使用它们,以及应该如何使用它们(包、插件等)。 )。

我的网络应用包含以下功能:

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

现在就是这样。我什么时候应该考虑这些功能中的 REST?

【问题讨论】:

    标签: django rest


    【解决方案1】:

    您可以深入了解该主题,但当我想到它时,我会想到您的网站将提供的 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 框架可以做到这一点; http://www.django-rest-framework.org/

    但是,如果您刚刚开始并且只是想了解更多有关这些概念的信息,Wikipedia 始终是一个不错的地方,最后this 看起来是使用 Django 的这个主题的一个很好的例子,希望对您有所帮助你在路上。

    要了解资源的概念,请查看this answer

    【讨论】:

    • 将“PUT”更新到 /calendar// 并删除“DELETE”而不是每个操作都有特定的 URL 可能更 RESTful?
    • 感谢您的反馈。我也经常听到“资源”这个词。您能否在我给定的示例中添加一个“资源”适合的示例?
    猜你喜欢
    • 2017-03-28
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多