This commit is contained in:
Iliyan Angelov
2025-09-26 00:45:31 +03:00
parent 1e316a763a
commit 3f5bcfad68
2821 changed files with 1043 additions and 38155 deletions

View File

@@ -13,7 +13,9 @@ from .app_settings import swagger_settings
from .renderers import (
ReDocOldRenderer,
ReDocRenderer,
SwaggerJSONRenderer,
SwaggerUIRenderer,
SwaggerYAMLRenderer,
_SpecRenderer,
)
@@ -77,6 +79,20 @@ def get_schema_view(info=None, url=None, patterns=None, urlconf=None, public=Fal
validators = validators or []
_spec_renderers = tuple(renderer.with_validators(validators) for renderer in SPEC_RENDERERS)
# optionally copy renderers with the validators that are configured above
if swagger_settings.USE_COMPAT_RENDERERS:
warnings.warn(
"SwaggerJSONRenderer & SwaggerYAMLRenderer's `format` has changed to not include a `.` prefix, "
"please silence this warning by setting `SWAGGER_USE_COMPAT_RENDERERS = False` "
"in your Django settings and ensure your application works "
"(check your URLCONF and swagger/redoc URLs).",
DeprecationWarning)
_spec_renderers += tuple(
type(cls.__name__, (cls,), {'format': '.' + cls.format})
for cls in _spec_renderers
if issubclass(cls, (SwaggerJSONRenderer, SwaggerYAMLRenderer))
)
class SchemaView(APIView):
_ignore_model_permissions = True
schema = None # exclude from schema