python ternary in jinja2 gives TemplateSyntaxError: tag name expected
python ternary in jinja2 gives TemplateSyntaxError: tag name expected
我有一个 table,如果 person.storyPublished 的值为真,我想更改 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>
为什么会这样?我错过了什么我没有注意到?任何帮助:)
您使用了“{% %}”,它想要获得一个标签,如 if、endif 等。
如果你只想执行一段 python 代码,比如你的三元表达式,你应该像这样使用双括号
{{ 'row-story-published' if person.storyPublished else ' ' }}
模板语言不同于Python,因此具有不同的语法。您不能在模板中使用 Python 的惯用语法。
<tr class="row-person {% if person.storyPublished %} row-story-published {% endif %}" >
我有一个 table,如果 person.storyPublished 的值为真,我想更改 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>
为什么会这样?我错过了什么我没有注意到?任何帮助:)
您使用了“{% %}”,它想要获得一个标签,如 if、endif 等。 如果你只想执行一段 python 代码,比如你的三元表达式,你应该像这样使用双括号
{{ 'row-story-published' if person.storyPublished else ' ' }}
模板语言不同于Python,因此具有不同的语法。您不能在模板中使用 Python 的惯用语法。
<tr class="row-person {% if person.storyPublished %} row-story-published {% endif %}" >