使用JSONResponse管理编码

时间:2014-12-04 15:00:09

标签: python json django character-encoding serializer

我的问题涉及Django中的API。我有几个序列化的对象,这很好用。问题是重音没有正确编码,例如:

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中了解了一个可选参数,但documentation对此很不满意。

感谢您的阅读。

编辑:

当我这样做时:

  
    
      

打印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 个答案:

没有答案