在django中发送内容编码头

nik*_*sfi 5 django content-encoding httpresponse render-to-response

您好我想要提供我内容的纯文本版本.所以我有一个单独的模板.我打电话render_to_responsemimetype="text/plain",但我想告诉浏览器中打开该页面的HTTP响应内容是UTF-8编码.我该怎么做(例如我需要添加什么render_to_response)?

Dav*_*cic 7

只需将charset添加到mimetype,如下所示:

mimetype="text/html; charset=utf-8"
Run Code Online (Sandbox Code Playgroud)

场景背后真正发生的事情是mimetype是从kwargs中取出来的render_to_response.

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

并发送到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)
Run Code Online (Sandbox Code Playgroud)