Skip to content

Commit b0d407f

Browse files
authored
Made api_setting.UNICODE_JSON/ensure_ascii affecting json schema (encode#7991)
1 parent 3a762d9 commit b0d407f

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

rest_framework/renderers.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,13 +1035,16 @@ class CoreAPIJSONOpenAPIRenderer(_BaseOpenAPIRenderer):
10351035
media_type = 'application/vnd.oai.openapi+json'
10361036
charset = None
10371037
format = 'openapi-json'
1038+
ensure_ascii = not api_settings.UNICODE_JSON
10381039

10391040
def __init__(self):
10401041
assert coreapi, 'Using CoreAPIJSONOpenAPIRenderer, but `coreapi` is not installed.'
10411042

10421043
def render(self, data, media_type=None, renderer_context=None):
10431044
structure = self.get_structure(data)
1044-
return json.dumps(structure, indent=4).encode('utf-8')
1045+
return json.dumps(
1046+
structure, indent=4,
1047+
ensure_ascii=self.ensure_ascii).encode('utf-8')
10451048

10461049

10471050
class OpenAPIRenderer(BaseRenderer):
@@ -1065,6 +1068,9 @@ class JSONOpenAPIRenderer(BaseRenderer):
10651068
charset = None
10661069
encoder_class = encoders.JSONEncoder
10671070
format = 'openapi-json'
1071+
ensure_ascii = not api_settings.UNICODE_JSON
10681072

10691073
def render(self, data, media_type=None, renderer_context=None):
1070-
return json.dumps(data, cls=self.encoder_class, indent=2).encode('utf-8')
1074+
return json.dumps(
1075+
data, cls=self.encoder_class, indent=2,
1076+
ensure_ascii=self.ensure_ascii).encode('utf-8')

0 commit comments

Comments
 (0)