内联 IF 语句根据 flask 变量更改图标 class

Inline IF statement to change icon class based on flask variable

我想知道这是否可以用 inline if 函数来实现。我想另一种方法是使用 JS 来完成。我发现这里的一些帖子询问的内容与我想做的几乎相似,但这些决议并不是我完全期望的,也不是我在 PHP.

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

假设 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中测试)