我们把StudentList和StudentDetail重命名为StudentViewSet,然后继承ModelViewSet,直接完成了类的合二为一 可以看到ModelViewSet类,继承了CreateModelMixin,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin,ListModelMixin,GenericViewSet类,这几个类,就是之前的RetrieveUpdateDestroyAPIView类和ListCreateAPIView类的基类,相当...
classGenericViewSet(ViewSetMixin, generics.GenericAPIView):"""The GenericViewSet class does not provide any actions by default, but does include the base set of generic view behavior, such as the `get_object` and `get_queryset` methods."""pass 这个来自导入 fromrest_frameworkimportgenerics, view...
Django REST Framework (DRF) 继承自 DjangoView 类的视图风格。这个由 View 、 ViewSet 、Generic ...
GenericViewSet继承了GenericAPIView,依然有get_queryset,get_serialize_class相关属性与方法,GenericViewSet重写了as_view方法,可以获取到HTTP的请求方法。 解决刚刚的问题: fromrest_frameworkimportviewsetsimport...classCourseViewSet(mixins.ListModelMixin,mixins.RetrieveModelMixin,viewsets.GenericViewSet):queryset=Cou...
我们现在使用的是使用ViewSet类而不是View类,我们不需要定义我们的url,我们使用routers,我们需要做的只是用一个路由注册合适的视图集合。使用Router类就可以自动将资源与视图(views)、链接(urls)联系起来。 修改urls.py: fromrest_framework.routersimportDefaultRouter ...
对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息。 1) 创建router对象,并注册视图集,例如 from rest_framework import routers router = routers.SimpleRouter() router.register(r'books', BookInfoViewSet, base_name='book') ...
而其中继承的ModelViewSet方法 # rest_framework/viewsets.py class ModelViewSet(mixins.CreateModelMixin, mixins.RetrieveModelMixin, mixins.UpdateModelMixin, mixins.DestroyModelMixin, mixins.ListModelMixin, GenericViewSet): """ A viewset that provides default `create()`, `retrieve()`, `update()`...
我有一个 Django 休息框架GenericViewset,我试图为它设置分页,如下所示: #settings.py REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE': 20 } #views.py class PolicyViewSet(viewsets.GenericViewSet): def list(self, request): queryset = ...
'rest_framework', ] 1. 2. 3. 4. 同步数据库 python manage.py migrate创建超级用户admin,密码设置为password123: python manage.py createsuperuser --email admin@example.com --username admin 创建API 接下来就是重点,我们要创建一个序列化程序将model转换成json格式。
在官网学习过程中,视图集和路由器部分按照教程写完代码action部分报错如下: 查看decorators.py里面并没有action函数,网上查到改成detail_route,改完后重启程序时报错: