介绍基本用法 SimpleRouter

可以为 ViewSet 类实现 DRF 的自动路由。

  1. 假设此示例中 ViewSet 类的名称为 MyViewSet

  2. 为了生成 MyViewSet 的路由,将使用 SimpleRouter
    myapp/urls.py

    from rest_framework import routers
    
    router = routers.SimpleRouter()        # initialize the router.
    router.register(r'myview', MyViewSet)  # register MyViewSet to the router.
    
  3. 这将为 MyViewSet 生成以下 URL 模式:

    • ^myview/$,名称为 myview-list
    • ^myview/{pk}/$,名称为 myview-detail
  4. 最后,为了在 myapp 的 URL 模式中添加生成的模式,将使用 django 的 include()
    myapp/urls.py

    from django.conf.urls import url, include
    from rest_framework import routers
    
    router = routers.SimpleRouter()
    router.register(r'myview', MyViewSet)
    
    urlpatterns = [
        url(r'other/prefix/if/needed/', include(router.urls)),
    ]