在使用带Django REST Framework的路由器时,如何让APIViews和ViewSets显示在API Root上?

时间:2014-06-01 22:46:18

标签: python django django-rest-framework

我最近开始使用DRF,我想知道如何获取路由器提供的自动生成的API Root,以显示不会来自基于ViewSet的视图的端点路由。

在我的情况下,我在views.py中有一些非ViewSet(通用)基于类的视图(ListAPIView和RetrieveAPIView),我想在我的API Root中出现。

我愿意接受其他解决方案,例如:我应该放弃ViewSets并以不同的方式实现这些端点等。

1 个答案:

答案 0 :(得分:3)

我认为这里最好的方法是:

  • 继续使用所有首选的ViewSets / Generic * / Mixins /裸视图。这是真正的工作发生的地方。
  • 重写APIRoot - 视图(不是那么复杂,请参阅the source)。
  • 使用urlconfig或扩展DefaultRouter以使DRF使用您的APIRoot-View。