Я создаю один элемент таблицы, который содержит одно поле «имя», которое нужно хранить на японском языке. Я использую веб-службу для просмотра данных таблицы. Ниже приведен код,django unicode convert to japanese
from django.http import HttpResponse
from rest_framework.renderers import JSONRenderer
class JSONResponse(HttpResponse):
"""
An HttpResponse that renders it's content into JSON.
"""
def __init__(self, data, **kwargs):
content = JSONRenderer().render(data)
kwargs['content_type'] = 'application/json'
super(JSONResponse, self).__init__(content, **kwargs)
from rest_framework import serializers
class MemberSerializer(serializers.ModelSerializer):
class Meta:
model = Member
fields = ('member_id', 'name', 'homepage', 'map')
def restore_object(self, attrs, instance=None):
"""
Create or update a new Member instance, given a dictionary
of deserialized field values.
Note that if we don't define this method, then deserializing
data will simply return a dictionary of items.
"""
if instance:
# Update existing instance
instance.member_id = attrs.get('member_id', instance.member_id)
instance.name = attrs.get('name', instance.name)
instance.homepage = attrs.get('homepage', instance.homepage)
instance.map = attrs.get('map', instance.map)
return instance
# Create new instance
return Member(**attrs)
//snapshot code
serializer = MemberSerializer(member)
return JSONResponse(serializer.data)
'Имя' значение отображается как юникода, { "имя": "\ u691c \ u8a3a \ u3092 \ u4e88 \ u7d04 \ u3059 \ u308b"}. Как я могу преобразовать его в японский?
Это Python 2 или 3? – user2357112
Я использую Python 2.7 – taigetco
Вы по-прежнему не дали понять, что вы подразумеваете под значением «Имя», как ... ». Отображает, где? Когда вы что-то делаете? То, что вы показали нам, представляет собой вполне достоверное представление строки Unicode с 7 японскими символами. Если вы хотите представить _different_ ... вы должны сказать нам, что вы делаете, чтобы получить это представление и в каком контексте, прежде чем мы сможем рассказать вам, что делать, чтобы получить другое представление. – abarnert