Как мне сгенерировать файл XML с правильным заголовком CGI в пилонах? - PullRequest
1 голос
/ 06 апреля 2011

Я пытаюсь написать простое действие пилонов для генерации XML. Вот суть, с игрушкой XML:

class HelloController(BaseController):
    def index(self):
        my_xml = etree.Element("root")
        etree.SubElement(root, "child1")
        etree.SubElement(root, "child2")
        etree.SubElement(root, "child3")

        return '<?xml version="1.0" encoding="UTF-8"?>\n'+etree.tostring( my_xml, pretty_print=True )

Но когда я отображаю это в firefox, это искаженный беспорядок - firefox не пытается проанализировать его как xml.

Проблема в том (я думаю), что я не прикрепляю правильный заголовок CGI, но я не могу найти документацию о том, как это сделать в пилонах. Что мне делать?

спасибо!

1 Ответ

1 голос
/ 06 апреля 2011

Вам необходимо вернуть HTTP-заголовок ответа, который объявляет тип содержимого ответа.В контроллере Pylons для этого используется глобальный pylons.response (который является экземпляром webob.Response ) объект.

В разделе импорта добавьте:

from pylons import response

Где-то в вашем действии контроллера добавьте:

response.content_type = "text/xml"
...