我有一个表,如果person.storyPublished的值为true,我想更改tr的背景颜色,否则什么都不做。
我的代码如下所示:
{% for person in people %}
<tr class="row-person {% '.row-story-published' if person.storyPublished else ' ' %}" >
<td>
{{ person.name }}
</td>
...
我收到此错误:
jinja2.exceptions.TemplateSyntaxError
TemplateSyntaxError: tag name expected
,CSS部分在这里:
<style>
.row-story-published{
background-color: #b3ffb3;
}
</style>
为什么会这样?我想念的是什么,我没有注意到?任何帮助:)
答案 0 :(得分:8)
您使用“{%%}”想要获取if,endif等标记。 如果你只想执行一段python代码,比如你的三元表达式,你应该使用像这样的双括号
{{ 'row-story-published' if person.storyPublished else ' ' }}
答案 1 :(得分:1)
模板语言与Python不同,因此语法不同。您不能在模板中使用Python的惯用语法。
<tr class="row-person {% if person.storyPublished %} row-story-published {% endif %}" >