如何以 xml 格式显示渲染值

Drw*_*ite 2 xml django

我的模板文件中有这个:

<?xml version="1.0" encoding="utf-8" ?>
<entries>
    {% for entry in entries %}
    <entry>{{ entry.entry_id }}</entry>
    {{ endfor }}
</entries>
Run Code Online (Sandbox Code Playgroud)

在我看来:

...
return render(request, 'entries.xml', {'entries': entries})
Run Code Online (Sandbox Code Playgroud)

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

1 2 3 4 ...
Run Code Online (Sandbox Code Playgroud)

但想要的结果是:

<?xml version="1.0" encoding="utf-8" ?>
<entries>
    <entry>1</entry>
    <entry>2</entry>
    <entry>3</entry>
    <entry>4</entry>
    ...
</entries>
Run Code Online (Sandbox Code Playgroud)

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

cat*_*ine 5

你的xml文件必须是这样的

<?xml version="1.0"?>
    <test>{% for entry in entries %}
         <entries>
            <entry>{{ entry.id }}</entry>
         </entries>{% endfor %}
    </test>
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

就是这样!