Jinja2 TemplateSyntaxError:未知标签'else'问题求助
Jinja2 TemplateSyntaxError 修复方案
错误信息
jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'else'
问题场景
测试推荐器时,传入列表中不存在的随机值,触发else代码块时抛出上述语法错误。
核心原因及修复步骤
- 检查if-else结构完整性:Jinja2要求
{% if %}必须与{% else %}、{% endif %}正确配对,{% else %}必须嵌套在{% if %}和{% endif %}之间,不能单独出现。
错误示例:
修正后:{% if item in recommend_list %} 展示推荐内容 {% endif %} {% else %} 无推荐提示{% if item in recommend_list %} 展示推荐内容 {% else %} 无推荐提示 {% endif %} - 排查标签拼写与格式:确认
{% else %}拼写正确,没有遗漏百分号或大括号,同时保证标签前后没有多余的空格或无效字符。 - 核对缩进层级:确保
{% else %}与对应的{% if %}处于同一缩进层级,避免因错位导致解析错误。
截图内容说明
两张截图分别显示了模板代码片段和错误提示界面,代码中的if-else逻辑存在语法问题,导致Jinja2无法识别else标签。
内容的提问来源于stack exchange,提问作者rohith
相关产品推荐
相关产品推荐

