Управление кодированием с помощью 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)

0 ответов

Другие вопросы по тегам