使用jinja的条件元素类,如果一个列表项包含某个项,我需要一个div来获取一个类

2024-05-16 15:46:00 发布

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

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

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

HTML示例

^{pr2}$

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 %}

因此,如果featured key设置为1,它将获得一个新的CSS类。在

CSS示例

.featured {
    background-color: blue;
}

Tags: 脚本flask示例列表titlehtmljobsdescription
1条回答
网友
1楼 · 发布于 2024-05-16 15:46:00

对于较短的结果,可以使用内联条件:

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

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

^{pr2}$

相关问题 更多 >