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