我想自定义 drf_yasg 生成的文档的样式(字体、颜色、 Logo 等)。
我发现我可以使用 block extra_head
、extra_styles
、extra_body
扩展 drf_yasg/swagger-ui.html
code>、extra_scripts
,如果需要,甚至可以覆盖其他 block 。
我不清楚的是我如何指向扩展 swagger-ui.html
的模板。
我开始了
class MyCustomSwaggerUIRenderer(SwaggerUIRenderer):
template = 'api/custom-swagger-ui.html'
我想在 get_schema_view
中将 SwaggerUIRenderer
替换为 MyCustomSwaggerUIRenderer
但不明白如何/在何处执行此操作而不明确尝试枚举所有rest_framework.views.APIView
的某些子类中也需要其他渲染器,这看起来很复杂。
感谢指向文档或示例的指针。我已经读过 https://drf-yasg.readthedocs.io/没有成功。
最佳答案
您不必为此创建自定义类。您只需要在新的或现有的应用程序下创建一个名称为 drf-yasg
的目录,然后在其下放置一个名称为 swagger-ui.html
的文件和您的自定义模板。例如,如果您已经有一个名为 api
的应用程序,您可以将其放在 api/templates/drf-yasg/swagger-ui.html
下。确保在 INSTALLED_APPS 中的 drf-yasg
之前指定应用 api
。
引用:https://github.com/axnsan12/drf-yasg/issues/294#issuecomment-464461773
关于django - drf-yasg 自定义 SwaggerUIRenderer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62253735/