Jinja循环实现列表项单引号与无引号交替输出需求
解决方案
你只需要在单次循环里同时输出带单引号和不带单引号的元素,再调整逗号的判断逻辑即可:
items = [v1, v2, v3] {%- for i in items %} '{{i}}', {{i}}{%- if not loop.last %} , {% endif -%} {%- endfor %}
逻辑说明
- 每次循环内先输出单引号包裹的
'{{i}}',紧接着输出无引号的{{i}},两者用逗号分隔 - 仅在非最后一次循环的末尾添加逗号,因为每个循环块对应两组输出项,最后一组的末尾不需要额外逗号
如果需要完全匹配示例中'v1',v1,'v2',v2,'v3',v3的无空格格式,把代码里的逗号空格改成纯逗号即可:
items = [v1, v2, v3] {%- for i in items %} '{{i}}',{{i}}{%- if not loop.last %},{% endif -%} {%- endfor %}
内容的提问来源于stack exchange,提问作者jwlon81
相关产品推荐
相关产品推荐

