def handle_exception(self, exc): # Formats like atom and XML don't render exceptions well, so just # fall back to HTML if hasattr(self.request, 'accepted_renderer') and self.request.accepted_renderer.format in ['xml', 'atom']: self.request.accepted_renderer = renderers.StaticHTMLRenderer() self.request.accepted_media_type = renderers.StaticHTMLRenderer.media_type return super(PublishedDocumentDetailView, self).handle_exception(exc)
def test_rest_framework_renderer(self): with self.subTest(src_text='str pass'): renderer = djburger.renderers.RESTFramework( renderer=rest_framework_renderers.StaticHTMLRenderer()) data = 'test' content = renderer(data=data).content self.assertEqual(content, b'test') with self.subTest(src_text='bytes pass'): renderer = djburger.renderers.RESTFramework( renderer=rest_framework_renderers.StaticHTMLRenderer()) data = b'test' content = renderer(data=data).content self.assertEqual(content, b'test') with self.subTest(src_text='int pass'): renderer = djburger.renderers.RESTFramework( renderer=rest_framework_renderers.StaticHTMLRenderer()) data = 123 content = renderer(data=data).content with self.subTest(src_text='list pass'): renderer = djburger.renderers.RESTFramework( renderer=rest_framework_renderers.StaticHTMLRenderer()) data = [1, 2, '3'] content = renderer(data=data).content self.assertEqual(content, b'123')