Coverage for api/utils/drf_renderer.py: 50%
10 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 06:14 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 06:14 +0000
1from rest_framework.renderers import BrowsableAPIRenderer
4class BrowsableAPIRendererWithoutForms(BrowsableAPIRenderer):
5 """
6 Renders the browsable api, but excludes the forms.
8 See https://github.com/WordPress/openverse/issues/970
10 CC BY 3.0 Brad Montgomery
11 https://bradmontgomery.net/blog/disabling-forms-django-rest-frameworks-browsable-api/
12 """
14 def get_context(self, *args, **kwargs):
15 ctx = super().get_context(*args, **kwargs)
16 ctx["display_edit_forms"] = False
17 return ctx
19 def show_form_for_method(self, view, method, request, obj):
20 """We never want to do this! So just return False."""
21 return False
23 def get_rendered_html_form(self, data, view, method, request):
24 """Why render _any_ forms at all. This method should return
25 rendered HTML, so let's simply return an empty string.
26 """
27 return ""