отправка заголовка с кодировкой контента в django - PullRequest
5 голосов
/ 08 августа 2010

Здравствуйте! Я хочу иметь доступную текстовую версию моего контента. Так что у меня есть отдельный шаблон для этого. Я звоню render_to_response с mimetype="text/plain", но я хочу сообщить браузеру, открывающему эту страницу в http-ответе, что содержимое кодируется в формате utf-8. Как мне это сделать (например, что я должен добавить к render_to_response)?

1 Ответ

7 голосов
/ 08 августа 2010

Просто добавьте кодировку в mimetype следующим образом:

mimetype="text/html; charset=utf-8"

Что действительно происходит за сценой, так это то, что mimetype извлекается из kwargs в render_to_response.

httpresponse_kwargs = {'mimetype': kwargs.pop('mimetype', None)}
return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)

и отправляется на HttpResponse, который устанавливает его как 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)
...