String Jinja中的字符串连接
我只想在现有列表中循环,并从中生成一个逗号分隔的字符串。String Jinja中的字符串连接,string,jinja2,String,Jinja2,我只想在现有列表中循环,并从中生成一个逗号分隔的字符串。 类似这样的内容:my_string='stuff,stuff,stuff,stuff' 我已经知道了循环。最后,我只需要知道如何使下面代码中的第三行正常工作 {% set my_string = '' %} {% for stuff in stuffs %} {% set my_string = my_string + stuff + ', '%} {% endfor%} 如果stuffs是一个字符串列表,那么这样就可以了: {{ st
类似这样的内容:
my_string='stuff,stuff,stuff,stuff'
我已经知道了循环。最后,我只需要知道如何使下面代码中的第三行正常工作
{% set my_string = '' %}
{% for stuff in stuffs %}
{% set my_string = my_string + stuff + ', '%}
{% endfor%}
如果stuffs
是一个字符串列表,那么这样就可以了:
{{ stuffs|join(", ") }}
加入
过滤器文档,加入常规文档中的过滤器
p、 美国
更方便读者阅读的方式
{{my~,'~string}}我的错,在试图简化它时,我做得太过分了,实际上
东西
是各种信息的记录,我只想要其中的id
stuffs = [[123, first, last], [456, first, last]]
我想要我的成为
my_sting = '123, 456'
我的原始代码应该是这样的:
{% set my_string = '' %}
{% for stuff in stuffs %}
{% set my_string = my_string + stuff.id + ', '%}
{% endfor%}
{% set my_string = [] %}
{% for stuff in stuffs %}
{% do my_string.append(stuff.id) %}
{% endfor%}
{% my_string|join(', ') %}
想一想,stuff
可能是一本字典,但你明白了要点
是的,我找到了join
过滤器,打算这样处理它:
{% set my_string = '' %}
{% for stuff in stuffs %}
{% set my_string = my_string + stuff.id + ', '%}
{% endfor%}
{% set my_string = [] %}
{% for stuff in stuffs %}
{% do my_string.append(stuff.id) %}
{% endfor%}
{% my_string|join(', ') %}
但是,如果不导入扩展就无法进行追加,阅读该文档让我头疼。它没有明确说明从何处导入,甚至没有明确说明将导入语句放在何处,因此我认为找到一种concat方法将是两个缺点中的较小的一个。只是另一个黑客可以这样做 我有一个需要连接的字符串数组。所以我将该数组添加到字典中,然后在for循环中使用它
{% set dict1 = {'e':''} %}
{% for i in list1 %}
{% if dict1.update({'e':dict1.e+":"+i+"/"+i}) %} {% endif %}
{% endfor %}
{% set layer_string = dict1['e'] %}
如果不能仅使用筛选器联接,而需要对数组的条目执行某些操作:
{% for entry in array %}
User {{ entry.attribute1 }} has id {{ entry.attribute2 }}
{% if not loop.last %}, {% endif %}
{% endfor %}
如果知道所有值都是字符串,则可以使用
+
。Jinja还提供了~
操作符,该操作符将确保首先将所有值转换为字符串
{% set my_string = my_string ~ stuff ~ ', '%}
记住使用~而不是+谢谢伙计你救了我的命alotOK我发布的原始代码很有用,我把它放在{{}我的实际代码中,而不是{%}我一直在寻找最好的方法和我可以做的事情,那是在一天结束到晚上,所以{}在我的挫败中溜走了。感谢您的回复,因为2.6版您可以在连接筛选器中选择一个属性。因此,您可以执行{{stuffs.join(',',attribute='id')}}查看这是非常棒的,当代码是flask app template.thx的一部分时,可以避免额外的
None
。它也在文档中,这应该是可接受的!