一、介绍
我们在使用视图集的过程中,要对路由进行映射,当扩展方法过多时,路由会写的很长,如下:
urlpatterns = [
path('bookinfo/',BookOperation.as_view({
'get':'list','post':'create'})),
re_path(r'bookinfo/(?P<pk>\d+)/',BookOperation.as_view({
'get':'retrieve','put':'update','delete':'destroy'}))
]
故我们引入drf的路由注册功能:DefaultRouter及SimpleRouter
二、DefaultRouter
我们使用DefaultRouter对路由进行改写:
from django.urls import path,re_path
from rest_framework.routers import DefaultRouter,SimpleRouter
from .views import BookOperation
urlpatterns = [
# path('bookinfo/',BookOperation.as_view({'get':'list','post':'create'})),
# re_path(r'bookinfo/(?P<pk>\d+)/',BookOperation.as_view({'get':'retrieve','put':'update','delete':'destroy'}))
]
# 创建路由对象
router = DefaultRouter()
# 注册视图集
urlpatterns += router