You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 06:23:11