RESTful之路由Routers
对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息。
REST framework提供了两个router
- SimpleRouter
- DefaultRouter
1. 使用方法
1) 创建router对象,并注册视图集,例如
from rest_framework import routersrouter = routers.SimpleRouter()
router.register(r'books', BookInfoViewSet, base_name='book')
register(prefix, viewset, base_name)
- prefix 该视图集的路由前缀
- viewset 视图集
- base_name 路由名称的前缀
如上述代码会形成的路由如下:
^books/$ name: book-list
^books/{pk}/$ name: book-detail
2)添加路由数据
可以有两种方式:
urlpatterns = [...
]
urlpatterns += router.urls
或
urlpatterns = [...url(r'^', include(router.urls))
]
2. 视图集中包含附加action的
【from rest_framework.decorations import action】
class BookInfoViewSet(mixins.ListModelMixin, mixins.RetrieveModelMixin, GenericViewSet):queryset = BookInfo.objects.all()serializer_class = BookInfoSerializer@action(methods=['get'], detail=False)def latest(self, request):...@action(methods=['put'], detail=True)def read(self, request, pk):...
此视图集会形成的路由:
^books/latest/$ name: book-latest
^books/{pk}/read/$ name: book-read
3. 路由router形成URL的方式
1) SimpleRouter
2)DefaultRouter 【继承了simpleRouter类】
DefaultRouter与SimpleRouter的区别是,DefaultRouter会多附带一个默认的API根视图,返回一个包含所有列表视图的超链接响应数据。
【对于首页的匹配不同,输入127.0.0.1:8000时,simpleRouter是访问不到的】
RESTful之路由Routers相关推荐
- 7.9.9路由Routers
7.9.9路由Routers 可以使用Routers来帮助我们快速实现路由信息 REST framework提供了两个router SimpleRouter DefaultRouter (1)使用方法 ...
- python Django Rest_Framework框架 视图集与路由Routers详解(图文并茂版)
视图集与路由Routers详解 视图集 ViewSet视图集 代码实现 GenericViewSet视图集 代码实现 ModelViewSet视图集 ReadOnlyModelViewSet视图集 路 ...
- DRF路由Routers
路由Routers 对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息. REST framework提供 ...
- DRF 框架总结 - 视图集路由 Routers
视图集 ViewSet 使用视图集 ViewSet,可以将一系列逻辑相关的动作放到一个类中: list() 提供一组数据 retrieve() 提供单个数据 create() 创建数据 update( ...
- vue路由 routers的写法:require用与不用
vue路由的写法有很多种,这里我只说routers的写法,一种是compcomponent后面直接写路径,另一种是用require的方式,来看代码 import Vue from 'vue' impo ...
- Django之restframework的路由Routers
对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息. REST framework提供了两个router ...
- Django之restframework中路由Routers
对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由信息. REST framework提供了两个router ...
- Django REST framework(十)路由集routers的使用
Django REST framework(九)-视图集ViewSet.GenericViewSet.ModelViewSet.ReadOnlyModelViewSet_simpleyako的博客-C ...
- 【GoWeb开发实战】Beego的路由控制
Beego的路由控制 二.路由控制 web框架中,路由是重要的一环,对于beego的路由配置如何? 2.1 默认路由 让我们从入口文件main.go先分析起来吧: package mainimport ...
最新文章
- 使用Nucleus SE实时操作系统
- 在CentOS 6.9 x86_64上从源码安装xz命令的方法
- 新版直播其他问题QA
- python中的gui界面编程_python应用系列教程——python的GUI界面编程Tkinter全解
- android8组windows10,微软正式开放Win10新功能:在PC端运行Android应用
- 第三次学JAVA再学不好就吃翔(part77)--迭代器遍历
- 有人问我:程序员要供祖师爷的话该供谁?
- 算法训练 连续正整数的和
- 手动抛出异常_Java异常处理最佳实践及陷阱防范
- python参数传递_python参数的传递
- QT QTableWidget设置单元格不可编辑
- Java程序设计教程(第三版) 雍俊海 9.6 答案/代码
- WebService 服务 转
- 如何查找论文是否被SCI,EI检索
- 怎样一次删除许多WPS word中的文本框(及其内容)?简单方法
- VSCode 使用code runner
- 二十一世纪大学英语读写教程学习笔记(原文)——2 - Conversational Ballgames(对话风格与球类运动)
- python人工智能思想_从零开始学人工智能(1)--Python · 神经网络(零)
- 小米游戏本 七代 deepin 网卡ac 8265 wifi 驱动 安装
- wopus推荐码,购买立省五块钱!!
热门文章
- 谁说技术男不适合养猫!90后程序员2天做出猫咪情绪识别软件
- 豆瓣评分 9.4 的算法巨著,这本书带无数读者入门算法
- 如何提高模型性能?这四大方法值得尝试 | CSDN 博文精选
- 刚上线就报名2000人!8位大牛免费讲座,再不报名就满额了!
- 阿里AI攻克心血管识别技术,冠脉中心线提取论文入选国际医学影像会议
- 打破欧美垄断,国防科大斩获“航天界奥林匹克”大赛首冠
- “安利”一款debug神器:在AI面前,bug都不是事儿
- TensorFlow可以做什么?让Google Brain首席工程师告诉你
- Spring Boot + Redis 操作多种实现
- GitHub上最励志的计算机自学教程