我使用 Djangorender_to_response
返回一个 XML 文档。此特定 XML 文档适用于基于 Flash 的图表库。该库要求 XML 文档以 BOM(字节顺序标记)开头。如何让 Django 将 BOM 预先添加到响应中?
它可以将 BOM 插入模板,但不方便,因为 Emacs 每次编辑文件时都会将其删除。
我试图重写render_to_response
如下,但它失败了,因为 BOM 是 UTF-8 编码的:
def render_to_response(*args, **kwargs):
bom = kwargs.pop('bom', False)
httpresponse_kwargs = {'mimetype': kwargs.pop('mimetype', None)}
s = django.template.loader.render_to_string(*args, **kwargs)
if bom:
s = u'\xef\xbb\xbf' + s
return HttpResponse(s, **httpresponse_kwargs)