【发布时间】:2018-05-25 11:08:58
【问题描述】:
我正在开发沙盒 CMS,因此除了 Jinja 版本之外,我无法运行任何 Python 代码。
我正在从数据库中提取我的列表,并根据字段 = 某个值来拆分它们。
{# rows = command to pull from db #}
{% set row_one = rows|selectattr('resource','equalto','One') %}
{% set row_two = rows|selectattr('resource','equalto','Two') %}
{# Sets my empty array #}
{% set newobj = [] %}
从这里开始,控制台记录第一/第二行将导致仅向我显示适用于其各自资源类型的那些项目。
当我尝试将这两个填充到一个数组中然后迭代它以交替结果时,我的问题就出现了。
这是我尝试过的:
{% for row in rows %}
{% newObj.update(row_one[loop.index0], row_two[loop.index0] %}
{% endfor %}
这似乎在newObj 上引发错误
未知标签'newobj'
我让它停止使用 :
{% for row in rows %}
{% set objs = newObj.update(marketingRows[loop.index0], salesRows[loop.index0], designRows[loop.index0]) %}
{% endfor %}
但事实证明,当控制台记录 objs 时,这不会返回任何内容。
我想要的结果
{# example input #}
row_one = ['1', '2', '3', '4']
row_two = ['a', 'b', 'c', 'd']
{# desired output #}
objs = ['1', 'a', '2', 'b', '3', 'c', '4', 'd']
我在这里完全不知所措,感谢任何帮助!
【问题讨论】:
-
row_one和row_two是否总是等长? -
不,他们可以改变,但如果一行用完,它应该只是填补其余的
标签: jinja2