其他分享
首页 > 其他分享> > (4)DRF框架——视图集

(4)DRF框架——视图集

作者:互联网

视图集

1、路由匹配规则改变
2、视图中定义方法不再按照请求方式定义
导入地址

#四个视图集导入地址
from rest_framework.viewsets import ViewSet,GenericViewSet,ModelViewSet,ReadOnlyModelViewSet

 

两个基本视图集

1. ViewSet

继承自APIview,作用也与APIView基本类似,提供了身份认证,权限校正,流量管理等。

在ViewSet中,没有提供任何动作的方法,需要我们自己实现动作的方法

2. GenericCiewset

继承自GenericAPIview

两个拓展视图集

1.ModelViewSet

继承自GenericAPIview 且继承了五个拓展类视图

2.ReadOnlyModelViewSet

继承自GenericAPIview 且继承了 ListModelMixin 和 RetrieveModelMixin这两个拓展类视图

 

使用

url

from django.conf.urls import url
from . import AAAPIview
urlpatterns = [
    url(r'^books/$',AAAPIview.BooksView.as_view({#不需要查询参数
        'get':'list',#获取全部数据
        'post':'create',#新建数据
    })),
    url(r'^books/(?P<pk>\d+)/$',AAAPIview.BooksView.as_view({#需要查询参数
        'put':'update',#更新数据
        'get':'retrieve',#获取单个数据
        'delete':'destroy'#删除数据
    }))
]

view

from .models import BookInfo
from .serializer import BookModelSerislzier
from rest_framework.viewsets import ModelViewSet

class BooksView(ModelViewSet):#继承了ModelViewSet
    #查询多个 和新增数据
    queryset = BookInfo.objects.all()#指定当前类视图使用的查询集数据
    serializer_class = BookModelSerislzier #指定类视图使用的序列化器类 注意后面没有括号 只是类名

 

标签:框架,url,ModelViewSet,视图,继承,import,图集,DRF
来源: https://www.cnblogs.com/xujin247/p/11726772.html