Python 在Django Temnplate中迭代XML

Python 在Django Temnplate中迭代XML,python,html,xml,django,django-templates,Python,Html,Xml,Django,Django Templates,我有一个从API调用返回的XML块 它包含许多结果-人物元素,如下所示 <root><person><name>mark</name><age>18</age></person><person><name>alan</name><age>10</age></person></root> 我原以为这是直截了当的,但它带来了问题。D

我有一个从API调用返回的XML块

它包含许多结果-人物元素,如下所示

<root><person><name>mark</name><age>18</age></person><person><name>alan</name><age>10</age></person></root>

我原以为这是直截了当的,但它带来了问题。

Django模板无法立即处理它。实际上,将XML结构传递到HTML模板进行处理听起来并不正确

制作有助于在XML结构上迭代的自定义模板标记或过滤器可能是一个可行的解决方案,但在这种情况下,您可能会发现自己的工作过于复杂,模板层是为表示而设计的:

我们将模板系统视为一种控制表达和表达的工具 与表示相关的逻辑——仅此而已。模板系统 不应支持超出此基本目标的功能

在视图中解析XML,列出字典并将其传递给上下文中的模板

例如,使用工具:


其中,
数据
是您的XML结构。

很公平,看来我必须这样做。希望能有一些现成的东西来支持这一点。那太好了。
{% for r in results %}
{{ r.name }}
{{ r.age }}
{% endfor %}
persons = xmltodict.parse(data)['root']['person']