我想定制的样式(字体,颜色,徽标等)的drf_yasg生成的文件。
我看到我可以用块extra_head、extra_styles、extra_body、extra_scripts来扩展drf_yasg/swagger-ui.html,如果需要的话,甚至可以覆盖其他块。
我不清楚的是我如何指向我的扩展swagger-ui.html的模板。
我从以下几点开始
class MyCustomSwaggerUIRenderer(SwaggerUIRenderer):
template = 'api/custom-swagger-ui.html'我想在get_schema_view中用MyCustomSwaggerUIRenderer替换SwaggerUIRenderer,但我不知道如何/在哪里做,而不是显式地尝试枚举rest_framework.views.APIView的某个子类中也需要的所有其他渲染器,这似乎很复杂。
欢迎使用指向文档或示例的指针。我已经阅读了https://drf-yasg.readthedocs.io/,但没有成功。
发布于 2021-08-07 15:44:27
您不必为此创建自定义类。您只需在新的或现有的应用程序下创建一个名为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
https://stackoverflow.com/questions/62253735
复制相似问题