drf-yasg Настроить SwaggerUIRenderer

Я хотел бы настроить стиль (шрифт, цвета, логотип и т. Д.) Создаваемых drf_yasg документов.

Я вижу, что могу продлить drf_yasg/swagger-ui.html с блоками extra_head, extra_styles, extra_body, extra_scripts, и при необходимости могу даже перезаписать другие блоки.

Я не понимаю, как я указываю на свой шаблон, который расширяет swagger-ui.html.

Я начал с

class MyCustomSwaggerUIRenderer(SwaggerUIRenderer):
    template = 'api/custom-swagger-ui.html'

Я хочу заменить SwaggerUIRenderer с участием MyCustomSwaggerUIRenderer в get_schema_view но не понимаю, как / где это сделать, не пытаясь явно перечислить все другие требуемые рендереры в некотором подклассе rest_framework.views.APIView и это кажется запутанным.

Указатели на документы или примеры приветствуются. Я уже безуспешно читал https://drf-yasg.readthedocs.io/.

1 ответ

Для этого не нужно создавать собственный класс. Вам просто нужно создать каталог с именем в новом или существующем приложении, а затем поместить файл с именем swagger-ui.htmlпод ним с вашим настраиваемым шаблоном. Например, если у вас уже есть приложение с таким названием, вы можете просто поместить его в api/templates/drf-yasg/swagger-ui.html. Убедитесь, что приложение api указано перед drf-yasg в INSTALLED_APPS.

Ссылка: https://github.com/axnsan12/drf-yasg/issues/294#issuecomment-464461773

Другие вопросы по тегам