Jinja 模板块中的嵌套块和 for 循环
nested block and for loop in a Jinja template block
尝试在 Jinja 模板块设置中使用嵌套块和 for 循环。
{% block main %}
<table>
<tr>
<td>user id</td>
<td>user sec level</td>
</tr>
{% block main_nested_b scoped %}
{%
for user in list_users:
t_id_user = str(user[0][0])
t_sec_level = str(user[2][0])
%}
<tr>
<td>
<a href='/usersEdit?id_user={{ t_id_user }}' class='onwhite'>edit</a>
</td>
</tr>
{% endfor %}
{% endblock main_nested_b %}
{% endblock main %}
</table>
错误信息:
jinja2.exceptions.TemplateSyntaxError: expected token 'end of statement block', got 't_id_user'
帮忙?
您不能将 Jinja 语法视为 Python 语法。这不是一回事。保持你的 for
tag separate from assignment (set
) tags:
{% for user in list_users %}
{% set t_id_user = user[0][0] %}
{% set t_sec_level = user[2][0] %}
请注意 for ... in ...
语法末尾甚至没有 :
!此外,您不需要在这里调用 str()
,将其留给 Jinja 为您转换为字符串;在您使用 {{ t_id_user }}
或 {{ t_sec_level }}
的任何地方,该值都会被转换为字符串。
这是完整的模板:
<table>
{% block main %}
{% block main_nested_b scoped %}
{% for user in list_users %}
{% set t_id_user = user[0][0] %}
{% set t_sec_level = user[2][0] %}
<tr>
<td>
<a href='/usersEdit?id_user={{ t_id_user }}' class='onwhite'>edit</a>
</td>
</tr>
{% endfor %}
{% endblock main_nested_b %}
{% endblock main %}
</table>
尝试在 Jinja 模板块设置中使用嵌套块和 for 循环。
{% block main %}
<table>
<tr>
<td>user id</td>
<td>user sec level</td>
</tr>
{% block main_nested_b scoped %}
{%
for user in list_users:
t_id_user = str(user[0][0])
t_sec_level = str(user[2][0])
%}
<tr>
<td>
<a href='/usersEdit?id_user={{ t_id_user }}' class='onwhite'>edit</a>
</td>
</tr>
{% endfor %}
{% endblock main_nested_b %}
{% endblock main %}
</table>
错误信息:
jinja2.exceptions.TemplateSyntaxError: expected token 'end of statement block', got 't_id_user'
帮忙?
您不能将 Jinja 语法视为 Python 语法。这不是一回事。保持你的 for
tag separate from assignment (set
) tags:
{% for user in list_users %}
{% set t_id_user = user[0][0] %}
{% set t_sec_level = user[2][0] %}
请注意 for ... in ...
语法末尾甚至没有 :
!此外,您不需要在这里调用 str()
,将其留给 Jinja 为您转换为字符串;在您使用 {{ t_id_user }}
或 {{ t_sec_level }}
的任何地方,该值都会被转换为字符串。
这是完整的模板:
<table>
{% block main %}
{% block main_nested_b scoped %}
{% for user in list_users %}
{% set t_id_user = user[0][0] %}
{% set t_sec_level = user[2][0] %}
<tr>
<td>
<a href='/usersEdit?id_user={{ t_id_user }}' class='onwhite'>edit</a>
</td>
</tr>
{% endfor %}
{% endblock main_nested_b %}
{% endblock main %}
</table>