diff options
| author | Tom Christie | 2013-05-18 08:55:59 -0700 |
|---|---|---|
| committer | Tom Christie | 2013-05-18 08:55:59 -0700 |
| commit | c7fd2435330f094a7ab64f4358d11d6c2967eba1 (patch) | |
| tree | 3b3fc8d9530037677166d7b793cb842c5ea40357 /rest_framework/renderers.py | |
| parent | 3f47eb7a77fcc735782dd1bf8e8e053e26417ea1 (diff) | |
| parent | b9b22976125fffa4552da695183bf75fbaf0b927 (diff) | |
| download | django-rest-framework-c7fd2435330f094a7ab64f4358d11d6c2967eba1.tar.bz2 | |
Merge pull request #863 from pyriku/787-unicodejsonrenderer
Adds UnicodeJSONRenderer
Diffstat (limited to 'rest_framework/renderers.py')
| -rw-r--r-- | rest_framework/renderers.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 8361cd40..4345a313 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -49,6 +49,7 @@ class JSONRenderer(BaseRenderer): media_type = 'application/json' format = 'json' encoder_class = encoders.JSONEncoder + ensure_ascii = True def render(self, data, accepted_media_type=None, renderer_context=None): """ @@ -72,7 +73,11 @@ class JSONRenderer(BaseRenderer): except (ValueError, TypeError): indent = None - return json.dumps(data, cls=self.encoder_class, indent=indent) + return json.dumps(data, cls=self.encoder_class, indent=indent, ensure_ascii=self.ensure_ascii) + + +class UnicodeJSONRenderer(JSONRenderer): + ensure_ascii = False class JSONPRenderer(JSONRenderer): @@ -320,7 +325,7 @@ class BrowsableAPIRenderer(BaseRenderer): renderer_context['indent'] = 4 content = renderer.render(data, accepted_media_type, renderer_context) - if not all(char in string.printable for char in content): + if not isinstance(content, six.text_type): return '[%d bytes of binary content]' return content |
