Django REST framework视图集与路由详解:深入理解ViewSet、ModelViewSet与路由映射器
from rest_framework import viewsets, routers
# 假设有一个模型Model和相应的序列化器ModelSerializer
class MyModelViewSet(viewsets.ModelViewSet):
queryset = Model.objects.all()
serializer_class = ModelSerializer
# 创建ViewSet
my_viewset = MyModelViewSet.as_view({
'get': 'list',
'post': 'create'
})
# 路由器实例
router = routers.DefaultRouter()
router.register(r'model', MyModelViewSet, 'model')
# 将ViewSet添加到路由器中
urlpatterns = [
# ...其他URL配置...
]
# 将路由器生成的URL配置添加到全局URL配置中
urlpatterns += router.urls
这个例子展示了如何创建一个ModelViewSet
,并通过Django REST framework的路由器routers
模块来自动生成API的路由。这样可以简化URL配置,并使得API的版本控制和可扩展性得到改善。
评论已关闭