嵌套URL未在Django Rest Swagger中显示

bob*_*bby 5 python django swagger django-rest-framework django-swagger

我正在尝试使用Django Rest Swagger记录我的Django REST API.

我的主要网址看起来像这样:

urlpatterns =[
    url(r'^tickers/', include('tickerapi.urls')),
]
Run Code Online (Sandbox Code Playgroud)

和tickerapi/urls:

schema_view = get_swagger_view(title='Ticker API')

urlpatterns = [
    url(r'^docs/', schema_view),
    url(r'^(?P<channel_name>[-\w]+)/', include([
        url(r'^$', views.ChannelUpdateView.as_view(),name='channel_update'), 
        url(r'^ONAIR$', views.CarouselsOnAirContentList.as_view(),name='carousel_onair_content_list'),      
        url(r'^(?P<carousel_name>[-\w]+)$', views.CarouselUpdateView.as_view(), name='carousel_update'),
    ])),
]
Run Code Online (Sandbox Code Playgroud)

如您所见,我的网址是嵌套的,以便处理以下网址有不同的视图:

  • / tickers/{channel_name}(操作:PUT,PATCH)
  • / tickers/{channel_name}/ONAIR(操作:GET)
  • / tickers/{channel_name}/{carousel_name}(操作:GET,PUT,PATCH)

我的问题是Django Rest Swagger只显示部分嵌套网址,如下所示: Django Rest Swagger屏幕截图

据我所知,Django Rest Swagger正在考虑/ tickers/{channel_name}和/ tickers/{channel_name}/{carousel_name}是同一个端点.实际上,如果我只允许对视图处理/ tickers/{channel_name}/{carousel_name}进行GET操作(使用ListAPIView),则丢失的嵌套URL将在Swagger中显示,减去GET操作:Django Rest Swagger屏幕截图

有人遇到过这个问题吗?我正在使用Django 1.10.5,Django Rest Framework 3.5.4和Django Rest Swagger 2.1.1

谢谢你的帮助