teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2022/01/09 15:20

投稿

umau
umau

スコア831

answer CHANGED
@@ -8,4 +8,25 @@
8
8
  def hoge(req):
9
9
  return JsonResponse({ 'hoge': 'fuga' })
10
10
 
11
+ ```
12
+ ---
13
+ (追記)
14
+
15
+ たしかに`return JsonResponse({'aaa': 'こんちわ'})`だと、`{"aaa": "\u3053\u3093\u3061\u308f"}`になってしまうので、
16
+ ```Python
17
+ return JsonResponse({'aaa': True}, json_dumps_params={'ensure_ascii': False})
18
+ ```
19
+ で行けますが、これが面倒くさいということでしたら、
20
+
21
+ ```Python
22
+ class UTF8JsonResponse(JsonResponse):
23
+ def __init__(self, *args, json_dumps_params=None, **kwargs):
24
+ json_dumps_params = {"ensure_ascii": False, **(json_dumps_params or {})}
25
+ super().__init__(*args, json_dumps_params=json_dumps_params, **kwargs)
26
+ ```
27
+ のような拡張クラスを自作する、っていう手がありました。([参考](https://stackoverflow.com/questions/34798703/creating-utf-8-jsonresponse-in-django))
28
+
29
+ ```Python
30
+ def hoge(req):
31
+ return UTF8JsonResponse({'aaa': 'こんちわ'})
11
32
  ```