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>.*)/$', 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方法其他也类似
.....

最新文章

  1. js function集合
  2. (转) JAVA中如何设置图片(图标)自适应Jlable等组件的大小
  3. HDU1575Tr A(矩阵相乘与快速幂)
  4. Android登录等待效果
  5. PHP团队编码质量提升之道
  6. 开放产品开发(OPD):产品负责人的工作原则和方法
  7. 20个简化开发任务的 JavaScript库
  8. CSS光标属性一览表
  9. WinForm 弹框确认后执行
  10. js 数组去重 的5种方法
  11. [转]Ubuntu 软件安装、查找、卸载--apt-get、apt-cache命令安全
  12. 我对hibernate的对象的3种状态的理解
  13. 递归编译的Makefile的实现
  14. APICloud框架——总结一下最近开发APP遇到的一些问题
  15. 【翻译】光速React – Vixlet
  16. python模块------shutil
  17. safari中input、textarea无法输入的问题
  18. MySQL和MySQL的注释方式
  19. Oracle问题处理
  20. 异常处理的捕捉:try{}catch(异常类 变量)finally{最终执行}

热门文章

  1. 关于volatile关键字的最佳解释
  2. TypeScript中是使用强类型函数作为参数
  3. Git学习-上传项目到github
  4. MySQL中几个重要的文件
  5. 泛型接口、JAVA API、包装类
  6. Python网络爬虫实战(四)模拟登录
  7. MAC sublime常用快捷键(慢慢补)
  8. 【linux】【Python】python2.7安装pip9.0.1
  9. WebStorm2017.3.4版本 注册码
  10. Dubbo源码解析(一)服务发现