Django或Django Rest框架 [英] Django or Django Rest Framework

查看:103
本文介绍了Django或Django Rest框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在Django中制作了一个特定的应用程序,并且我知道Django Rest Framework用于构建API。但是,当我开始在其网站上阅读有关Django Rest Framework的信息时,我注意到 API中的每件事Guide (例如请求,响应,视图等)声称它优于Django(请求,响应,视图等)。

I have made a certain app in Django, and I know that Django Rest Framework is used for building APIs. However, when I started to read about Django Rest Framework on their website, I noticed that each and every thing in API Guide(like request, response, views etc.) claims it is superior to Django (request, response, views etc.).

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

The thing I am not understanding is whether these APIs will replace my existing Django models, views etc. or how can I use them differently in my existing Django code?

我对Django相当熟悉,但无法确切了解Django Rest Framework甚至花了一些时间。 (我知道它用于API。)此外,我实际上是否需要API?我的应用程序可以在没有API的情况下将数据发送到服务器,因此在哪种情况下我需要API?

I am quite familiar with Django, but not able to understand exactly what Django Rest Framework is even after spending some time on it. (I know it is used for APIs.) Also, do I actually need an API? My app is able to send data to the server without an API, so in what case would I need an API?

推荐答案

Django Rest Framework使您可以轻松地将Django服务器用作REST API。

Django Rest Framework makes it easy to use your Django Server as an REST API.

REST代表 re 代表性 s tate t 转移,API表示 a 复制 p rgramming i 接口。

REST stands for "representational state transfer" and API stands for application programming interface.

您可以使用常规Django构建一个宁静的api,但这会非常麻烦。 DRF使一切变得容易。为了进行比较,这是仅使用常规Django的简单GET视图,而使用Django Rest Framework的简单视图:

You can build a restful api using regular Django, but it will be very tidious. DRF makes everything easy. For comparison, here is simple GET-view using just regular Django, and one using 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_classes = [permissions.IsAuthenticatedOrReadOnly]
    serializer_class = MyObjSerializer

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

Note that with DRF you easily have list and create views as well as authentication.

这篇关于Django或Django Rest框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆