我一直在尝试使用Django,Python,CSS和HTML绘制国际象棋棋盘。为此,我需要跟踪for循环中的迭代次数。我通读了Django's documentation并看到我应该使用forloop.counter
。
当我在我的计划中使用forloop.counter
时,我收到jinja2.exceptions.UndefinedError
,其中指出forloop
未定义。我在我的IDE中卸载并重新安装了Django 1.11.5并收到了同样的错误。我安装了Django的开发版本并收到了同样的错误。
我在单独的测试程序中检查了forloop.counter
的使用情况,但仍然收到错误消息,指出forloop
未定义。
Django本身有错误吗?谢谢。
以下是测试程序:
<div id="container">
{% block main %}
{% for item in length %}
<p>{{ forloop.counter }}</p>
{% endfor %}
{% endblock %}
</div>
答案 0 :(得分:2)
该错误消息表明您使用的是Jinja2作为模板引擎而不是Django自己的模板语言。您必须在设置文件中明确配置它。
在Jinja2中,您使用{{ loop.index }}
- 请参阅the documentation。
除非你有充分的理由,否则你应该恢复标准的Django模板设置。