如何以xml格式显示渲染值

时间:2013-07-05 12:31:41

标签: xml django

我的模板文件中有这个:

<?xml version="1.0" encoding="utf-8" ?>
<entries>
    {% for entry in entries %}
    <entry>{{ entry.entry_id }}</entry>
    {{ endfor }}
</entries>

这在我看来:

...
return render(request, 'entries.xml', {'entries': entries})

当我想显示数据时,它显示如下:

1 2 3 4 ...

但是结果是:

<?xml version="1.0" encoding="utf-8" ?>
<entries>
    <entry>1</entry>
    <entry>2</entry>
    <entry>3</entry>
    <entry>4</entry>
    ...
</entries>

如何在浏览器中显示带有标签的所有xml树?

2 个答案:

答案 0 :(得分:3)

您的xml文件必须如下

<?xml version="1.0"?>
    <test>{% for entry in entries %}
         <entries>
            <entry>{{ entry.id }}</entry>
         </entries>{% endfor %}
    </test>

要在浏览器中查看此数据,您必须指明内容类型

from django.shortcuts import render_to_response

def view_in_xml(request):
    response = render_to_response('robots.xml', {'entries': YourModel.objects.all(),})
    response['Content-Type'] = 'application/xml;'
    return response

就是这样!

答案 1 :(得分:0)

我还没有尝试过这个..但我认为这会在浏览器中找到你想要的东西,但这不是真正的xml

&lt;?xml version="1.0" encoding="utf-8" ?&gt;<br/>
&lt;entries&gt; <br/>
    {% for entry in entries %}
        &nbsp;&nbsp;&nbsp;&nbsp;&lt;entry&gt;{{ entry.entry_id }}&lt;/entry&gt; <br/>
    {{ endfor }}
&lt;/entries&gt;