Django:Django或DjangoREST框架

我在 Django 中创建了一个应用程序,我知道 Django Rest Framework 用于构建 API。但是,当我开始在他们的网站上阅读 Django Rest Framework 时,我注意到API Guide中的每一件事(如请求,响应,视图等)声称它优于 Django(请求,响应,视图等)。

我不明白的是这些 API 是否会取代我现有的 Django 模型,视图等,或者我如何在现有的 Django 代码中使用它们?

我对 Django 相当熟悉,但即使花了一些时间,也无法确切了解 Django Rest Framework 是什么。(我知道它用于 API。) 另外,我是否真的需要一个 API?我的应用程序能够在没有 API 的情况下将数据发送到服务器,那么在什么情况下我需要一个 API?

53

Django Rest Framework 可以轻松地将 Django Server 用作 REST API。

REST 代表“representationalstatetransfer”,API 代表applicationprogrammingintece。

您可以使用常规 Django 构建一个 restful api,但这将是非常繁琐的。DRF 使一切变得简单。为了进行比较,这里是简单的 GET-view 只使用常规 Django,一个使用 Django Rest Framework:

常规:

from django.core.serializers import serialize
from django.http import HttpResponse
class SerializedListView(View):
    def get(self, request, *args, **kwargs):
        qs = MyObj.objects.all()
        json_data = serialize("json", qs, fields=('my_field', 'my_other_field'))
        return HttpResponse(json_data, content_type='application/json')

和 DRF 这变成了:

from rest_framework import generics
class MyObjListCreateAPIView(generics.ListCreateAPIView):
    permission_cl = [permissions.IsAuthenticatedOrReadOnly]
    serializer_class = MyObjSerializer

请注意,使用 DRF,您可以轻松地列出并创建视图以及身份验证。

45

例如,如果你想从移动设备和网络应用程序访问 Django 模型中的所有内容,你会想要使用 DRF。

为什么?考虑到您正在开发一个用户可以登录的 iOS 应用程序,并且您希望使用 Django 作为后端。如果您还想拥有一个网站,他们可以使用该网站来更改其应用程序的个人资料信息(例如,更新其电子邮件地址或上传图片),则需要一种方法来共享您的 Django 模型中的信息。和如何完成 iOS 设备。

但是,如果您只是构建一个简单的 webapp / 网页并将其保存在一个地方,则可以直接使用 Django。

旁注:这是一个非常流行的观点,你应该尽可能地将你的前端与后端分开。在这种情况下,如果你想使用一些前端开发框架,如 React,Angular 或 Vue,它会变得混乱,试图将所有这些资源包含在 Django 模板页面中,即使你只想要一个简单的 web 应用程序 / 网页。

再次,你决定使用什么真的只是取决于你想从你的应用程序 / 网站,你是如何舒适的每个工具。

18

DRF 的基本目的是提供 API。API 是一个应用程序中的接触点。想象一个项目,你有一个 Django 向导,你的团队中有人是 JavaScript 专家,你想开发移动应用程序。JavaScript 专家谈论 web 元素和线程,Django 专家谈论模板和 ORM,现在是什么?API 是你的答案。让 Django wiz 给出 API 和 JSON,让 JavaScript Simple wiz 可以做他的前端

11

简单地说,

Django:为标准 Web 应用程序提供功能

Django Rest Framework:提供构建标准 REST API 的功能。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(625)
Jquery判断是否存在某个class:jQuery:检查是否存在具有特定类名的div
上一篇
Can s as:无法在ASP.NETCore模板包上调试Angular2的*.ts文件
下一篇

相关推荐

  • Usable:将DjangoDateField转换为ReactCalendar的可用值

    关于Usable的问题,在usable calendar中经常遇到,我已经阅读了 react-calendar 的文档:https://www.npmjs.com/package/react-calendar,我已经阅读了 django DateField 的文档,并且我已经阅读了有关堆栈溢出的类似问题。…

    2024-02-25 03:53:49
    0 61 15
  • web服务与restful技术:使用RESTful API实现Web服务

    Web服务是一种软件系统,它可以通过网络与其他软件系统进行交互。它使用轻量级的、可扩展的协议,如HTTP,XML,JSON等,来支持远程服务调用和数据交换。…

    2023-02-17 15:20:28
    0 75 46
  • python安装urllib2:如何使用urllib2在Python中发送HTTP请求

    示例示例Python安装urllib2的方法:使用pip安装:…

    2023-02-10 15:57:27
    0 35 41
  • javascript三大框架如何使用Vue、React和Angular实现前端开发

    示例示例三大框架是React、Vue和Angular。React:React是一个用于构建用户界面的库,它使开发者能够更轻松地创建动态的Web应用程序。…

    2023-04-17 09:55:13
    0 94 57
  • pinterest网页版在Pinterest上发现新的创意

    Pinterest网页版是一种社交媒体平台,它允许用户分享图片,视频,文章和其他内容。用户可以在Pinterest上创建自己的主页,收集和发布内容,并与其他用户进行交流。…

    2023-02-04 08:04:12
    0 83 59
  • springboot默认包含的web容器:为“Hello World”的页面@RestControllerpublic clas

    示例示例Spring Boot默认使用的Web容器是Tomcat,也可以使用Jetty或。如果要使用Tomcat作为Web容器,可以在pom.xml文件中添加如下依赖:…

    2023-05-01 03:40:22
    0 85 83
  • asp for循环:标题

    示例示例ASP For循环是一种可以重复执行代码块的结构,它可以在指定的次数内执行代码块,也可以在满足特定条件时执行代码块。下面是一个ASP For循环的代码示例:…

    2023-07-02 00:55:58
    0 57 38
  • java restful 框架:RESTful API 开发指南

    Java RESTful 框架是一种基于 Java 语言的 Web 开发框架,它支持 RESTful 风格的 API 设计,使开发人员可以快速构建和部署 RESTful 服务。RESTful 框架的优势在于它的简单性,它可以帮助开发人员更快地实现系统的开发和部署,而且它也可以提高系统的可扩展性和可用性。…

    2023-06-19 14:25:10
    0 79 24

发表评论

登录 后才能评论

评论列表(52条)