python - 带有 jinja 的条件元素类,如果列表项包含某个项目,我希望 div 获得一个类

标签 python html flask jinja2

我正在做一个小工作板,每份工作都有小卡片。这些卡片是使用 flask/jinja 从我的 python 脚本发送到 html 的列表动态创建的

jobs = [{'title':'fix car', 'description':'my car broke down', 'price':100}]

HTML 示例

{% for item in jobs %}

<p> {{ item['title'] }} {{ item['description'] }} {{ item['price'] }} </p>

{% endfor %}

Screenshot of job tasks

我想要的是能够使选定的卡片脱颖而出或成为特色。因此,在我的工作来自的 Python 脚本中,我添加了一个二进制选项。 1 = 特色,0 = 正常

所以在我的 html 中它看起来像这样:

{% for item in jobs %}

<p class='featured if item['featured']'> {{ item['title'] }} {{ item['description'] }} {{ item['price'] }}

{% endfor %}

因此,如果将其特色键设置为 1,它将获得一个新的 CSS 类。

CSS 示例

.featured {
    background-color: blue;
}

最佳答案

您可以使用内联条件来获得更短的结果:

<p class='{{"featured" if item["featured"] else "normal"}}'> {{ item['title'] }} {{ item['description'] }} {{ item['price'] }}</p>

但是,如果您不想包含非特色卡片的类,可以使用通用的 if-else 语句:

{%if item["featured"]%}
  <p class='featured'> {{ item['title'] }} {{ item['description'] }} {{ item['price'] }}</p>
{%else%}
  <p> {{ item['title'] }} {{ item['description'] }} {{ item['price'] }}</p>
{%endif%}

关于python - 带有 jinja 的条件元素类,如果列表项包含某个项目,我希望 div 获得一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55545481/

相关文章:

python - 从python中的多索引数据框中获取索引号

python - sympy - 无法使 nsolve 方法起作用

html - 具有悬停效果的图像出现在标题上方时

在 main 中调用一次时,Python 线程运行两次

flask - 金贾 : How does the null-master fallback example work?

python - 根据字典打断复合词

python - 从 python 上传到 BigQuery 时,某些行出现 ASCII 0 错误

html - CSS 下拉列表悬停鼠标不起作用

html - 浏览器对 HTML 元素的默认 CSS

python - python flask OIDC 应用程序的 flask-OIDC 替代品