快讯 >

【天天热闻】Django REST Framework-什么是视图(一)

时间:2023-04-27 18:25:30       来源:腾讯云


【资料图】

在Django REST Framework中,视图是处理HTTP请求和响应的核心组件。视图接收HTTP请求,然后根据请求的方法(GET,POST,PUT等)执行相应的操作,并返回HTTP响应。

DRF视图可以是函数视图或基于类的视图。函数视图类似于Django中的函数视图,它接收一个request对象并返回一个响应。基于类的视图是DRF中的主要视图类型,它继承自DRF提供的基类,并提供了一些常见的功能,例如身份验证,权限控制和序列化器的使用。

以下是一个简单的基于类的视图示例:

from rest_framework import genericsfrom .serializers import BookSerializerfrom .models import Bookclass BookList(generics.ListCreateAPIView):    queryset = Book.objects.all()    serializer_class = BookSerializer    def perform_create(self, serializer):        serializer.save()

在上面的代码中,我们定义了一个名为BookList的基于类的视图,并指定了查询集和序列化器类。在perform_create()方法中,我们保存了反序列化的数据。

在DRF中,还有许多其他视图类型可用。以下是一些常用的视图类型:

ListAPIView:提供一个只读列表视图,显示一个查询集的序列化结果。RetrieveAPIView:提供一个只读详情视图,显示一个对象的序列化结果。CreateAPIView:提供一个创建视图,用于创建新的对象。UpdateAPIView:提供一个更新视图,用于更新现有对象。DestroyAPIView:提供一个删除视图,用于删除一个对象。GenericAPIView:提供了一些基本视图行为,例如身份验证和权限控制。

关键词: