Я использую Django render_to_response
для возврата XML-документа. Этот конкретный XML-документ предназначен для библиотеки диаграмм на основе флэш-памяти. Библиотека требует, чтобы XML-документ начинался с BOM (маркер порядка байтов). Как я могу заставить Django подготовить спецификацию к ответу?
Можно вставить спецификацию в шаблон, но это неудобно, потому что Emacs удаляет ее каждый раз, когда я редактирую файл.
Я попытался переписать render_to_response
следующим образом, но это не удалось, потому что спецификация кодируется 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)