0910自我总结
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>.*)/$',]
视图
一.导入模块
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方法其他也类似
.....
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|