Управление кодированием с помощью JSONResponse
Моя проблема касается API в Django. У меня есть несколько объектов для сериализации, это хорошо работает. Проблема в том, что акценты неправильно закодированы, например:
L'\u00c9tranger #instead of L'étranger
Для отображения этого я использую сериализатор следующим образом:
serializer = MyClassSerializer(MyObjects, many=True)
return JSONResponse(serializer.data)
мой JSONResponse
класс простирается от HttpResponse
:
from django.http import HttpResponse
(...)
class JSONResponse(HttpResponse):
"""
An HttpResponse that renders its content into JSON.
"""
def __init__(self, data, **kwargs):
content = JSONRenderer().render(data)
kwargs['content_type'] = 'application/json'
super(JSONResponse, self).__init__(content, **kwargs)
При поиске в документации я прочитал о необязательном параметре в JSONResponse
: JSONencoder
но документация плохо об этом.
Спасибо за чтение.
РЕДАКТИРОВАТЬ:
Когда я делаю:
распечатать h.request (" http://myu.rl/s/Camus%2BAlbert/")
У меня все еще есть:
"titre": "L\'\\u00c9tranger"
Вот моя модель Livre:
class Livre(models.Model):
auteur = models.ForeignKey(Auteur)
titre = models.CharField(max_length=50)
genre = models.ForeignKey(Genre)
publish_date = models.DateField()
class Meta:
unique_together = (('auteur','titre', 'publish_date'),)
Но он не хранится в базе данных, я просто использую его в качестве оболочки в этом случае.
Могу ли я сказать, что когда я выполняю непосредственно сценарий, который заполняет класс Livre, прежде чем передать его реальной службе API (той, которая сериализует и создает json), я получаю следующее:
>>>>python book_search.py -s "Albert Camus"
L'Étranger
Основной блок просто позвоните: GoogleBook.search(search_keywords)