Flask Jinja2模板语法错误:unexpected '%' 如何解决?
问题解决:Jinja2 TemplateSyntaxError - unexpected '%'
错误根源非常明确:你在if和endif这类控制结构的标记中,错误混用了Jinja2的变量输出标记{{}}与控制块标记{% %},写成了{{% ... %}},这完全不符合Jinja2的语法规范。
Jinja2核心语法规则需明确:
{{ 变量/表达式 }}:用于输出变量值或表达式计算结果{% 控制语句 %}:用于包裹流程控制代码(如if、for、endif等)
修正后的完整代码如下:
<div class="mb-3"> {{ form.ism.label(class="form-label") }} {% if form.ism.errors %} {{ form.ism(class="form-control form-control-lg is-invalid") }} <div class="invalid-feedback"> {% for error in form.ism.errors %} <span>{{ error }}</span> {% endfor %} </div> {% else %} {{ form.ism(class="form-control form-control-lg") }} {% endif %} </div>
只需将原代码中第4行的{{% if form.ism.errors %}}改为{% if form.ism.errors %},以及最后一行的{{% endif %}}改为{% endif %},即可解决该语法错误。
内容的提问来源于stack exchange,提问作者SalihBerat
相关产品推荐
相关产品推荐

