1、定义路由 url.py
#比如我们要传递多层路由http://www.baidu.com/hosts/{ID}/detail/
router = DefaultRouter()
router.register('hosts',views.ServerView,basename="server_base")
urlpatterns = [
path('v1/',include(router.urls)),
]
2、编写多级路由的方法
#使用action装饰器
from rest_framework.decorators import action
#在类里面创建函数
class ServerView(ViewSet):
@action(methods=['get'], detail=True, url_path='detail', url_name='change_password', permission_classes=[])
def information(self, request, *args, **kwargs):
pass
#url_path: 子级路径名称
#url_name: 子级路径名字
http://www.igolang.cn/api/v1/hosts/{id}/detail/ 他就会到action装饰器的函数下去访问