Python jinja2:在循环中的标记属性中写入数据

Python jinja2:在循环中的标记属性中写入数据,python,jinja2,Python,Jinja2,我有一个如下所示的结果对象: result = [{ start: 0, length: 2 }, { start: 5, length: 3, }] <div starts="0|5"></div> <div starts={ {% for res in result %}{% if loop.index0 %}'|'{% endif %}{res.start}{% endfor %} }> <div starts=

我有一个如下所示的结果对象:

result = [{
    start: 0,
    length: 2
}, {
    start: 5,
    length: 3,
}]
<div starts="0|5"></div>
<div starts={ {% for res in result %}{% if loop.index0 %}'|'{% endif %}{res.start}{% endfor %} }>
<div starts={{ for res in result } '|' if loop.index0 {res.start}{ endfor } }>
我需要创建一个html标记,如下所示:

result = [{
    start: 0,
    length: 2
}, {
    start: 5,
    length: 3,
}]
<div starts="0|5"></div>
<div starts={ {% for res in result %}{% if loop.index0 %}'|'{% endif %}{res.start}{% endfor %} }>
<div starts={{ for res in result } '|' if loop.index0 {res.start}{ endfor } }>

我试过这样的方法:

result = [{
    start: 0,
    length: 2
}, {
    start: 5,
    length: 3,
}]
<div starts="0|5"></div>
<div starts={ {% for res in result %}{% if loop.index0 %}'|'{% endif %}{res.start}{% endfor %} }>
<div starts={{ for res in result } '|' if loop.index0 {res.start}{ endfor } }>


以及其他一些变体。我怎样才能实现我的目标?我是新来金贾的,所以请原谅这个可能是“愚蠢”的问题。:-)

如果要收集
result
中所有对象的
start
属性,并通过管道字符将它们连接起来,则可以简单地使用:

<div starts="{{ result | join('|', attribute='start') }}"></div>

如果要收集
结果
中所有对象的
开始
属性,并通过管道字符将它们连接起来,则可以简单地使用:

<div starts="{{ result | join('|', attribute='start') }}"></div>


您需要为此循环吗?
结果
对象是否可能只包含两个元素以外的元素?那么会发生什么呢?你不能在Python端构造最后一个字符串来降低模板中的复杂性吗?我没有访问Python端的权限,结果中还有其他一些信息。结果对象可以包含任意数量的元素。甚至可以在这一点上循环吗?如果可以有任意数量的元素,那么字符串是如何构造的?您所说的“那么字符串是如何构造的”是什么意思?属性值应该看起来像“0 | 5 | 17 | 34”,这取决于结果的元素。这就是我想知道的,因为对于除2之外的元素计数,它应该如何表现,这个问题并不清楚……您需要为此循环吗?
结果
对象是否可能只包含两个元素以外的元素?那么会发生什么呢?你不能在Python端构造最后一个字符串来降低模板中的复杂性吗?我没有访问Python端的权限,结果中还有其他一些信息。结果对象可以包含任意数量的元素。甚至可以在这一点上循环吗?如果可以有任意数量的元素,那么字符串是如何构造的?您所说的“那么字符串是如何构造的”是什么意思?属性值应该看起来像“0 | 5 | 17 | 34”,这取决于结果的元素。这就是我想知道的,因为对于除2之外的元素计数,它应该如何表现还不清楚…