首页 > TAG信息列表 > GenericAPIView
基于Mixins扩展类和GenericAPIView实现API接口
5个视图扩展类也叫混入类(Mixin) 作用: 提供了几种后端视图(对数据资源进行增删改查)处理流程的实现,如果需要编写的视图属于这五种,则视图可以通过继承相应的扩展类来复用代码,减少自己编写的代码量。 这五个扩展类需要搭配GenericAPIView通用视图基类,因为五个扩展类的实现需要调用GeneriDrf视图集合
1.背景: 技术储备,drf适合前后端分离项目,比较适合单表操作的业务,另外丰富的视图集合配合路由自动生成,开发速度能得到极大的提升。 2、视图分类: 2.1:视图超类: from rest_framework.views import APIVie基于GenericAPIView写的接口
# views.py class Book2View(GenericAPIView): #queryset要传queryset对象,查询了所有的图书 # serializer_class使用哪个序列化类来序列化这堆数据 queryset=Book.objects # queryset=Book.objects.all() serializer_class = BookSerializer def get(sel基于GenericAPIView和5个视图扩展类写的接口
from rest_framework.mixins import ListModelMixin,CreateModelMixin,UpdateModelMixin,DestroyModelMixin,RetrieveModelMixin # views.py class Book3View(GenericAPIView,ListModelMixin,CreateModelMixin): queryset=Book.objects serializer_class = BookSeri模型类序列化器的几个类
GenericAPIView 实现通用的数据库查询和序列化在类中定义: queryset = Book.objects serializer_class = myserializersmod.BookModelSerializer自己需要实现get post put delete 方法 好处是写法都是差不多的 ListModelMixin RetrieveModelMixin UpdateModelMixin等等 这个里1-5.视图组件
目录图 图 2个视图基类 APIView rest_framework.views.APIView APIView是REST framework提供的所有视图的基类,继承自Django的View父类。 APIView与View的不同之处在于: - 传入到视图方法中的是REST framework的`Request`对象,而不是Django的`HttpRequeset`对象; - 视图方法可以返回R[Django REST framework - 视图组件之视图基类、视图扩展类、视图子类、视图集]
[Django REST framework - 视图组件之视图基类、视图扩展类、视图子类、视图集] 视图继承关系 详图见文章末尾 视图组件可点我查看 两个视图基类:APIView、GenericAPIView from rest_framework.views import APIView APIView与View的不同之处在于: 传入到视图方法中的是REST fraDRF框架(八)——常用功能子类视图 工具视图(继承了GenericAPIView和各种Mixins工具类)
目录 前言视图增删改查路由 前言 之前还需要继承多个类,现在将多个类合并为一个,以后只要继承了这一个,那么就相当于继承了多个了。 1)工具视图都是GenericAPIView的子类,且不同的子类继承了不同的工具类 2)工具视图的功能可以满足需求,只需要继承工具视图,并且提供queryset与serDRF-类视图(GenericAPIView)
from rest_framework.views import APIView from meituan.models import Merchant from django.http import Http404 from .serializers import MerchantSerializer from rest_framework.response import Response from rest_framework import status from rest_framework impDjango 之 drf 第三篇 视图类 路由的使用
------------恢复内容开始------------ Django 之 drf 第三篇 视图类 路由的使用 一、两个视图基类 #Django REST framwork 提供的视图的主要作用 控制序列化器的执行(检验、保存、转换数据) 控制数据库查询的执行 #APIView:继承了原生Djiango的View#GenericAPday85
1 2个视图基类 2 5个视图扩展类 3 9个子类视图 4 视图集 5 action的使用 6 路由的使用 ## 1 2个视图基类 ```python # Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验、保存、转换数据) 控制数据库查询的执行 # APIView:继承了原生Django的View # Gdrf视图组件
目录一 视图1.1 试图配置1.2 视图1.2.1 2个视图基类1.2.1.1 APIView2.2.1.2 GenericAPIView[通用视图类]get_serializer(self, args, *kwargs)1.2.2 5个视图扩展类1)ListModelMixin2)CreateModelMixin3)RetrieveModelMixin4)UpdateModelMixin5)DestroyModelMixin1.2.3 GenericAPIView的GenericAPIView, 视图工具类, 工具视图类, 视图集
目录GenericAPIView类---泛型工具视图类视图工具类工具视图类视图集实际开发中使用视图集时需要优化的点SimpleRouter简化...\d_proj\api\urls.py中的代码 GenericAPIView类---泛型工具视图类 GenericAPIView类继承了APIView类 APIView类: 1. 通过重写as_view方法禁用了csrf校验,(day74)视图家族(视图基类、视图工具类、工具视图类、视图集)、十大接口和路由层补充
目录 一、views:视图基类 (一)APIView(回顾) (二)GenericAPIView 二、mixins:视图工具类 (一)CreateModelMixin (二)ListModelMixin (三)RetrieveModelMixin (四)UpdateModelMixin (五)DestroyModelMixin 三、generics:工具视图类 (一)CreateAPIView (二)ListAPIView (三)RetrieveAPIView (四)DestoryAPI(生鲜项目)10. REST framework 的 View 种类分析
第一步: GenericApiView 是什么? 1. 看源码 class GenericAPIView(views.APIView): queryset = None serializer_class = None ... 2. 很明显, GenericAPIView 就是来处理ORM查询到的querrySet对象和serializer类的, 同时还可以处理分页的相关内容, 但是并不提供对getdrf框架(五)
总结 1.整体修改与局部修改 # 序列化get (给前端传递参数) #查询 ser_obj = ModelSerializer(model_obj) #只传递一个参数,默认是instance的参数,查询数据 # 反序列化post save() => create()(数据保存到数据库中) #添加 ser_obj = ModelSerializer(data=model_data) #传递data参GenericAPIView
GenericAPIView 此类扩展了REST框架的APIView类,为标准列表和详细信息视图添加了常用的行为。 提供的每个具体通用视图都是通过将GenericAPIView与一个或多个mixin类组合而构建的。 属性 **基本设置:** 以下属性控制基本视图行为。 - queryset - 应该用于从此视图返回对象的查询集