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


Posted in Python onSeptember 10, 2019

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字符串对象的实现
Dec 24 Python
Python 私有函数的实例详解
Sep 11 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
python将文本分每两行一组并保存到文件
Mar 19 Python
python3学习之Splash的安装与实例教程
Jul 09 Python
python实现图片筛选程序
Oct 24 Python
对Pyhon实现静态变量全局变量的方法详解
Jan 11 Python
python getpass模块用法及实例详解
Oct 07 Python
python 实现多维数组(array)排序
Feb 28 Python
浅析PyCharm 的初始设置(知道)
Oct 12 Python
Python实现列表索引批量删除的5种方法
Nov 16 Python
pytorch __init__、forward与__call__的用法小结
Feb 27 Python
Pytorch中accuracy和loss的计算知识点总结
Sep 10 #Python
python3.7环境下安装Anaconda的教程图解
Sep 10 #Python
Windows10下 python3.7 安装 facenet的教程
Sep 10 #Python
python 图像处理画一个正弦函数代码实例
Sep 10 #Python
Python操作Mongodb数据库的方法小结
Sep 10 #Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 #Python
Python matplotlib绘制饼状图功能示例
Sep 10 #Python
You might like
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
基于PHP遍历数组的方法汇总分析
2013/06/08 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
php定时执行任务设置详解
2015/02/06 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
PHP chr()函数讲解
2019/02/11 PHP
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
jqTransform美化表单
2015/10/10 Javascript
js倒计时简单实现方法
2015/12/17 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
Pyramid添加Middleware的方法实例
2013/11/27 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
Python实现数值积分方式
2019/11/20 Python
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
W Hamond官网:始于1979年的钻石专家
2020/07/20 全球购物
中学教师岗位职责
2013/11/26 职场文书
2014乡镇党政班子四风问题思想汇报
2014/09/14 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
无罪辩护词范文
2015/05/21 职场文书