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

Django中for标签未闭合错误:需匹配empty或endfor标签

解决Django模板未闭合for标签的错误

你碰到的这个错误是典型的Django模板语法使用失误——你把模板控制标签的分隔符写错了,导致{% for %}标签找不到对应的闭合标签,同时还有CSRF token的标签也犯了同样的错误。

具体错误点分析:

  • 在form-template.html中,你用了{$ endfor %}来闭合循环,但Django的控制标签必须用{% ... %}作为分隔符,所以这个标签无法被识别,系统就认为{% for field in form %}没有闭合。
  • 同样在comment_form.html里,{$ csrf_token %}也是错误的写法,正确的CSRF token标签应该是{% csrf_token %}。

修正后的代码:

form-template.html

{% for field in form %} 
    {{ field.errors }} 
    <label>{{ field.label_tag }}</label> 
    {{ field }} 
{% endfor %}

comment_form.html

<form action="" method="post"> 
    {% csrf_token %} 
    {% include 'films/form-template.html' %} 
    <button type="submit">Submit</button> 
</form>

小提醒:

Django模板里的语法规则要记清楚:

  • 控制流程标签(for、if、csrf_token、include等):用{% 标签内容 %}
  • 变量输出:用{{ 变量名 }}
    别把这两种分隔符搞混,这类小失误很容易引发模板解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:33:28