Enviando cabeçalho de codificação de conteúdo em Django
-
26-09-2019 - |
Pergunta
Olá, quero ter uma versão simples do meu conteúdo disponível. Então, eu tenho um modelo separado para isso. eu estou chamando render_to_response
com mimetype="text/plain"
Mas quero dizer a um navegador abrindo essa página na resposta HTTP que o conteúdo é codificado UTF-8. Como faço isso (por exemplo, o que eu tenho que adicionar render_to_response
)?
Solução
Basta adicionar charset ao mimeType como este:
mimetype="text/html; charset=utf-8"
O que realmente acontece por trás da cena é que o Mimetype é retirado de Kwargs em render_to_response
.
httpresponse_kwargs = {'mimetype': kwargs.pop('mimetype', None)}
return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
e enviado para HttpResponse
que define como content_type
:
if mimetype:
content_type = mimetype # For backwards compatibility
if not content_type:
content_type = "%s; charset=%s" % (settings.DEFAULT_CONTENT_TYPE,
settings.DEFAULT_CHARSET)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow