gpt4 book ai didi

python - 在可浏览的 api_root 中混合 View 和 ViewSet

转载 作者:太空狗 更新时间:2023-10-29 17:51:40 26 4
gpt4 key购买 nike

我有一个 browsable API :

restaurant_router = DefaultRouter()
restaurant_router.register(r'rooms', RoomsViewSet)
restaurant_router.register(r'printers', PrintersViewSet)
restaurant_router.register(r'shifts', ShiftsViewSet)

urlpatterns = patterns('',
url(r'^$', api_root),
url(r'^restaurant/$',
RestaurantView.as_view(),
name='api_restaurants_restaurant'),
url(r'^restaurant/', include(restaurant_router.urls)),
)

api_root 中,我可以链接到指定的路由:

@api_view(('GET',))
def api_root(request, format=None):
return Response({
'restaurant': reverse('api_restaurants_restaurant', request=request, format=format),
})

或者我可以使用 DefaultRouter 生成的可浏览 API,如文档中所述:

The DefaultRouter class we're using also automatically creates the API root view for us, so we can now delete the api_root method from our views module.

如果我想混合使用 ViewSet 和普通 View ,并在同一个 API 根中显示所有内容,我该怎么办? DefaultRouter 仅列出它控制的 ViewSet

最佳答案

您可以仅使用一种方法将您的 View 定义为 ViewSet。所以你可以在路由器中注册它,它将与 ViewSets 在一个空间中。

http://www.django-rest-framework.org/api-guide/viewsets/

关于python - 在可浏览的 api_root 中混合 View 和 ViewSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35276916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com