2017-09-15 5 views
0

私はDjango、Python、CSS、HTMLを使ってチェス盤を描こうとしています。これを行うには、forループの反復回数を追跡する必要があります。私はDjango's documentationを読んで、forloop.counterを使うべきだと分かりました。Django - Forloop Undefined

私のプログラムでforloop.counterを使用したとき、forloopが定義されていないと言ったjinja2.exceptions.UndefinedErrorを受け取りました。 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> 

答えて

2

というエラーメッセージは、テンプレートエンジンではなく、Djangoの独自のテンプレート言語としてJinja2のを使用していることを示しています。ここでは

は、テストプログラムです。設定ファイルでこれを明示的に設定しておく必要があります。

Jinja2では、{{ loop.index }}を使用します。the documentationを参照してください。

非常に良い理由がない限り、おそらく標準のDjangoテンプレート設定に戻るべきです。

+0

ありがとうございます。標準のDjangoテンプレートに戻すにはどうしたらいいですか? – SuperNovaCoder

+0

[the docs](https://docs.djangoproject.com/en/1.11/topics/templates/#configuration)を参照してください。 –

関連する問題