def get_default_renderer(self, view): if view.get_view_name() == 'Crush Map': return StaticHTMLRenderer() else: renderer = super(CalamariBrowsableAPIRenderer, self).get_default_renderer(view) return renderer
class StaticHTMLRendererTests(TestCase): """ Tests specific for Static HTML Renderer """ def setUp(self): self.renderer = StaticHTMLRenderer() def test_static_renderer(self): data = '<html><body>text</body></html>' result = self.renderer.render(data) assert result == data def test_static_renderer_with_exception(self): context = { 'response': Response(status=500, exception=True), 'request': Request(HttpRequest()) } result = self.renderer.render({}, renderer_context=context) assert result == '500 Internal Server Error'
def get(self, request, *args, **kwargs): # The django.auth.contrib login form doesn't perform the content # negotiation we've come to expect from DRF; add in code to catch # situations where Accept != text/html (or */*) and reply with # an HTTP 406 try: DefaultContentNegotiation().select_renderer(request, [StaticHTMLRenderer], 'html') except NotAcceptable: resp = Response(status=status.HTTP_406_NOT_ACCEPTABLE) resp.accepted_renderer = StaticHTMLRenderer() resp.accepted_media_type = 'text/plain' resp.renderer_context = {} return resp return super(LoggedLoginView, self).get(request, *args, **kwargs)
def setUp(self): self.renderer = StaticHTMLRenderer()
def get_renderers(self): return [JSONRenderer(), StaticHTMLRenderer()]