【问题标题】:Inline IF statement to change icon class based on flask variable内联 IF 语句根据烧瓶变量更改图标类
【发布时间】:2020-08-21 18:13:12
【问题描述】:

我想知道这是否可能与内联 if 函数有关。我想另一种方法是使用 JS 来完成。我在这里发现了一些帖子,询问的内容几乎与我想要做的事情相似,但这些解决方案并不是我所期望的或在 PHP 中完成的。

<i class="fa fa-server {{ 'danger' if {{ system_health }} == 'Not Good' else 'primary' }} font-large-2 float-left"></i>

【问题讨论】:

    标签: javascript python html flask jinja2


    【解决方案1】:

    假设system_health 是文本变量,您可以使用以下模板:

    <i class="fa fa-server {% if system_health == 'Not Good' %}danger{% else %}primary{% endif %} font-large-2 float-left"></i>
    

    请注意,我在 if 语句中使用它时将变量名放在不带 {{}} 的位置。

    import jinja2
    t = jinja2.Template('''<i class="fa fa-server {% if system_health == 'Not Good' %}danger{% else %}primary{% endif %} font-large-2 float-left"></i>''')
    print(t.render(system_health = 'Not Good'))
    print(t.render(system_health = 'OK'))
    

    输出:

    <i class="fa fa-server danger font-large-2 float-left"></i>
    <i class="fa fa-server primary font-large-2 float-left"></i>
    

    (在 python 版本 3.7.3 和 jinja2 版本 2.11.1 中测试)

    【讨论】:

    • 感谢您的帮助,让我免于头疼!我尝试我的初始方式的唯一原因是因为在其他一些代码中我正在执行以下操作并且它有效,所以不确定为什么它在这种情况下不起作用。
    猜你喜欢
    • 2017-09-06
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    相关资源
    最近更新 更多