小编Als*_*Als的帖子

从 Jinja2 宏返回一个 dict 对象

我有一个单独的帮助宏文件,所以我在需要时导入一个。这是有问题的宏:

{% 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)

等等。如何强制 …

python jinja2

5
推荐指数
2
解决办法
7206
查看次数

标签 统计

jinja2 ×1

python ×1