python jinja2 : using variable in template with conditional

标签 python jinja2

我有这个:

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

但显然这不起作用。尝试使用 row 字典中的辅助列向单元格添加 HTML 属性。有什么想法吗?

最佳答案

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

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

当然将 True 替换为您的条件。如果需要引用参数:

{{ 'value="' + row['value'] + '"' 如果 True }}

正如@Reza-S4所建议的,您也可以将条件放在打印语句之外,这样会更清晰一点:

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

关于 python jinja2 : using variable in template with conditional,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27473028/

相关文章:

python - 为什么 sys.getrefcount() 返回 2?

python - 如何在 Python 中修改 dbf 文件

python - 使用 ClientID 从 spotify api 获取艺术家

javascript - 使用 javascript 日期时 Firefox 特定错误

python - 从扩展模板覆盖包含模板中的 Jinja block

jinja2 - 如何将键/值添加到 ansible playbook 中的 dict,有条件

html - 如何返回原始 HTML(使用 Flask)

python - 使用以数字数组命名的列迭代 DataFrame

python - 如何正确获得所需日期之间的行?

python - 过滤循环中的循环变量