pythonjinja2:在带有条件的模板中使用变量

2024-05-12 11:35:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个:

{% for row in data: %}
    <td
            {{'value={{row['value']}}' if 'showit' in map and header in map['showit'] and 'value' in row}}
    > ... </td>
{% endfor %}

但很明显这是行不通的。正在尝试使用rowdict中的辅助列向单元格添加HTML属性。有什么想法吗?在


Tags: andinmapfordataif属性value
1条回答
网友
1楼 · 发布于 2024-05-12 11:35:00

假设您的问题在于获取row['value']的语法,连接字符串而不是尝试嵌套{{ }}s:

{{ 'value=' + row['value'] if True }}

True替换为你的情况。如果需要引用参数:

{{ 'value="' + row['value'] + '"' if True }}

正如@Reza-S4建议的那样,您也可以将条件放在print语句之外,以使其更加清晰:

{% if 'showit' in map and header in map['showit'] and 'value' in row: %}
  value="{{ row['value'] }}"
{% endif %}

相关问题 更多 >