Wangtail和Django Rest Framework drf-yasg一起?

时间:2018-06-04 05:21:29

标签: django-rest-framework wagtail drf-yasg

我正在一个更大的(主要是DRF)驱动的应用程序中实现Wagtail博客。我试图将drf-yasg用于我的文档。

由于安装了wagtail,文档现在正在抛出

'Request' object has no attribute 'wagtailapi_router'

它看起来与drf-yasg所做的内省有关,而我所能找到的关于从drf-yasg中排除视图的所有内容都是在代码级别完成的。作为一个已安装的模块显然我想避免这种情况。

有没有人让这些2(3)组件一起玩得很好?

1 个答案:

答案 0 :(得分:1)

问了这个问题已经很长时间了,但是当我自己寻找答案时发现了这个,我想我可能会分享对我有用的东西。

请注意,我没有使用drf-yasg,而是使用DRF自己的模式生成器。但是它们确实有很多共同点。

在我的情况下,问题是模式生成器URL的定义如下:

path(
    "schema/",
    get_schema_view(title="My API Schema"),
    name="openapi-schema",
),

我需要添加的是一个patterns=参数,该参数专门引用了我的API,而忽略了其他非API网址(例如Wagtail):

path(
    "v3/schema/",
    get_schema_view(title="My API Schema", patterns=router.urls),
    name="openapi-schema",
),

我希望对您有所帮助... -D