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

解决Python Flask使用Jinja2模板时出现“expected token 'name', got 'integer'”错误

错误产生原因
  • Jinja2模板语法中,is是测试运算符,仅用于调用测试函数(如is defined、is number),后接必须是标识符类型的测试名称,不能直接跟整数、字符串等字面量。你的代码中写{% if content.index is 3 %}时,解析器期望is后接名称类token,实际读取到整数3,因此触发对应token错误。
修复方案

根据你的实际业务需求二选一即可:

  • 若判断逻辑为content对象自带的index属性值等于3,直接将is替换为相等比较运算符==:
{% for content in contents %}
   <div>
       *some divs here*
       {{content}}
   </div>

{% if content.index == 3 %}
   <div>
        *some contents inside*
   </div>
{% endif %}
{% endfor %}
  • 若判断逻辑为当前循环迭代到第3次,需要使用Jinja2内置的循环变量loop.index(从1开始计数,首次循环值为1),如果需要从0开始计数可替换为loop.index0:
{% if loop.index == 3 %}
   <div>
        *some contents inside*
   </div>
{% endif %}

内容的提问来源于stack exchange,提问作者user16421569

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:09:03