Django DetailView/ListView принудительно отображают XML
Есть ли способ заставить DetailView/ListView генерировать файл XML вместо HTML?
Я уже создал шаблон XML, и он правильно отображает, но DetaiView не позволяет установить MIME-тип.
Есть идеи?
Спасибо!
2 ответа
Решение
DetailView
наследуется от SingleObjectTemplateResponseMixin
который наследует от TemplateResponseMixin
у которого есть метод render_to_response
в котором mimemtype
можно установить. Итак, что-то вроде
class MyView(DetailView):
def render_to_response(self, context, **response_kwargs):
return super(MyView, self).render_to_response(
context,
mimetype='application/xml',
**response_kwargs)
должно сработать
Вы можете просто использовать content_type
атрибут вашего взгляда
class MyView(DetailView):
content_type = 'application/xml'
Предоставляется TemplateResponseMixin начиная с Django 1.5