我有一个单独的帮助宏文件,所以我在需要时导入一个。这是有问题的宏:
{% macro row_cycler(tiles) -%}
{%- set row1 = [] -%}
{%- set row2 = [] -%}
{%- set row3 = [] -%}
{%- set row4 = [] -%}
{%- set rows = cycler(row1, row2, row3, row4) -%}
{% for column in tiles|batch(4) -%}
{% for tile in column -%}
{%- do rows.next().append(tile) -%}
{%- endfor %}
{%- endfor %}
{{ dict(row1=row1, row2=row2, row3=row3, row4=row4) }}
{%- endmacro %}
Run Code Online (Sandbox Code Playgroud)
似乎它返回 dict,但事实并非如此。它返回“markupsafe.Markup 对象”,它导致:
UndefinedError: 'markupsafe.Markup object' has no attribute 'itervalues'
Run Code Online (Sandbox Code Playgroud)
等等。如何强制 …