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

1from rest_framework.renderers import BrowsableAPIRenderer 

2 

3 

4class BrowsableAPIRendererWithoutForms(BrowsableAPIRenderer): 

5 """ 

6 Renders the browsable api, but excludes the forms. 

7 

8 See https://github.com/WordPress/openverse/issues/970 

9 

10 CC BY 3.0 Brad Montgomery 

11 https://bradmontgomery.net/blog/disabling-forms-django-rest-frameworks-browsable-api/ 

12 """ 

13 

14 def get_context(self, *args, **kwargs): 

15 ctx = super().get_context(*args, **kwargs) 

16 ctx["display_edit_forms"] = False 

17 return ctx 

18 

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 

22 

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 ""