DRF中的路由Router使用

DRF中的路由Router使用

对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用Routers来帮助我们快速实现路由列表信息。

REST framework提供了两个router

  • SimpleRouter
  • DefaultRouter

1.使用方法
1) 创建router对象

router = DefaultRouter()

2) 注册视图集,注册语法为

router.register(prefix, viewset,basename)
  • prefix 该视图集的路由前缀(路由,列表视图和详情视图公有的部分,不含斜杠)
  • viewset 视图集
  • basename路由名称的前缀(给路由起名,可不写,前后端不分离用的多)

如上述代码会形成的路由如下:

^books/$    name: book-list
^books/{pk}/$   name: book-detail

3)添加路由数据

可以有两种方式:

urlpatterns = [
    ...
]
urlpatterns += router.urls  # 追加路由

或者:

urlpatterns = [
    ...
    url(r'^', include(router.urls))
]

2.路由router形成URL的方式
1) SimpleRouter
2)DefaultRouter

DefaultRouter与SimpleRouter的区别是,DefaultRouter会多附带一个默认的API根视图,返回一个包含所有列表视图的超链接响应数据。

SimpleRouter和DefaultRouter的共同点是,都可以帮助我们生成详情视图路由和列表视图路由。不同点是,DefaultRouter,url显示,以超链接形式显示。而 SimpleRouter的url不显示,报404

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值