diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 3298294ce2..baf861a7ed 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -852,7 +852,7 @@ class SchemaJSRenderer(BaseRenderer): def render(self, data, accepted_media_type=None, renderer_context=None): codec = coreapi.codecs.CoreJSONCodec() - schema = base64.b64encode(codec.encode(data)) + schema = base64.b64encode(codec.encode(data)).decode('ascii') template = loader.get_template(self.template) context = {'schema': mark_safe(schema)} diff --git a/tests/test_renderers.py b/tests/test_renderers.py index 54b3ce9645..ba8400c065 100644 --- a/tests/test_renderers.py +++ b/tests/test_renderers.py @@ -18,7 +18,7 @@ from rest_framework import permissions, serializers, status from rest_framework.renderers import ( AdminRenderer, BaseRenderer, BrowsableAPIRenderer, DocumentationRenderer, - HTMLFormRenderer, JSONRenderer, StaticHTMLRenderer + HTMLFormRenderer, JSONRenderer, SchemaJSRenderer, StaticHTMLRenderer ) from rest_framework.request import Request from rest_framework.response import Response @@ -736,3 +736,20 @@ def test_document_with_link_named_data(self): html = renderer.render(document, accepted_media_type="text/html", renderer_context={"request": request}) assert '