django-drf框架自带的路由以及最简化的视图,具体内容如下所示:
路由
一.导入模块
- from rest_framework.routers import SimpleRouter
二.初始化路由对象
三.创建路由
- router = SimpleRouter()
- # 注册各种接口路由
- router.register('cars', views.CarModelViewSet, base_name='car')
- #car为链接的开头,views.CarModelViewSet为当路由为cars的时候的调用的函数
- urlpatterns = []
- urlpatterns.extend(router.urls)
其效果等同于
- urlpatterns = [
- url(r'^cars/$', views.CarModelViewSet.as_view()),
- url(r'^cars/(?P<pk>.*)/$', views.CarModelViewSet.as_view()),
- ]
视图
一.导入模块
- from rest_framework.viewsets import ModelViewSet
二.创建视图逻辑
ModelViewSet源码
- class ModelViewSet(mixins.CreateModelMixin,
- mixins.RetrieveModelMixin,
- mixins.UpdateModelMixin,
- mixins.DestroyModelMixin,
- mixins.ListModelMixin,
- GenericViewSet):
- #所有他当中以及对于get等等的方法自动进行了封装
- mixins是在generics再进行方法的分装成5个方法
- RetrieveModelMixin:retrieve 单取
- ListModelMixin:list 群取
- CreateModelMixin:create 单增
- UpdateModelMixin:update 单整体改
- UpdateModelMixin: partial_update 单局部改
- DestroyModelMixin:destroy 单删
- class CarModelViewSet(ModelViewSet):
- queryset = models.Car.objects.filter(is_delete=False)
- serializer_class = serializers.CarModelSerializer
- ........
- #queryset serializer_class 必须给与
- ...
- def get(self):
- 他会调用retrieve或者list方法其他也类似
- .....
总结
以上所述是小编给大家介绍的django drf框架自带的路由及最简化的视图,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对w3xue网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!