django drf框架自带的路由及最简化的视图

时间:2021-05-22

django-drf框架自带的路由以及最简化的视图,具体内容如下所示:

路由

一.导入模块

from rest_framework.routers import SimpleRouter

二.初始化路由对象

router = 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框架自带的路由及最简化的视图,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章