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

yipeiwu_com6年前Python基础

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

相关文章

Python基于递归算法实现的汉诺塔与Fibonacci数列示例

Python基于递归算法实现的汉诺塔与Fibonacci数列示例

本文实例讲述了Python基于递归算法实现的汉诺塔与Fibonacci数列。分享给大家供大家参考,具体如下: 这里我们通过2个例子,学习python中递归的使用。 1. 找出Fibona...

基于python调用psutil模块过程解析

这篇文章主要介绍了基于python调用psutils模块过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 用Python来编写脚...

python-tornado的接口用swagger进行包装的实例

python-tornado的接口用swagger进行包装的实例

写这个文章的主要原因,就是因为没有相关的东西,导致我完全不知道应该怎么做,经过了两个晚上的摸索,终于搞清楚了,如果有谁需要tornado+swagger的输出模式,可以照这个套; 主要是...

Python实现连接两个无规则列表后删除重复元素并升序排序的方法

Python实现连接两个无规则列表后删除重复元素并升序排序的方法

本文实例讲述了Python实现连接两个无规则列表后删除重复元素并升序排序的方法。分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python2...

Python的matplotlib绘图如何修改背景颜色的实现

Python的matplotlib绘图如何修改背景颜色的实现

在主图中背景颜色不知道怎么改,plt.plot()中没有axisbg参数。 但是子图可以对plt.subplot的参数做修改,下面是对子图的背景颜色修改代码 import matpl...