多行代码的神社错误

jinja error with multi-line code

我正在尝试编写一个多行 if 语句来在 jinja2 中设置一个变量。但我一直收到错误

代码:

{% set subjectName = subject.name %}
{% if(subjectName == ''):
   subjectName = 'empty'
%}
{% endif %}

错误:

jinja2.exceptions.TemplateSyntaxError: expected token 'end of statement block', got 'subjectName'

是否不允许多行代码?

你刚刚把 %} 放在了错误的位置。这应该行得通(我也去掉了冒号,我认为这里也不行):

{% set subjectName = subject.name %}
{% if(subjectName == '') %}
   subjectName = 'empty'
{% endif %}

经过一番搜索,这对我有用:

{% set subjectName = subject.name %}
{% if(subjectName == '') %}
{% set subjectName = 'empty' %}
{% endif %}