Django テンプレートで以下のリストの反復処理を実行したいです。
foo = ['foo', 'bar'];
moo = ['moo', 'loo'];
for (a, b) in zip(foo, moo):
print a, b
ジャンゴコード:
{% for a, b in zip(foo, moo) %}
{{ a }}
{{ b }}
{% endfor %}
これを試すと以下のエラーが発生します:
File "/base/python_lib/versions/third_party/django-0.96/django/template/defaulttags.py", line 538, in do_for
raise TemplateSyntaxError, "'for' statements should have either four or five words: %s" % token.contents
これを実現するにはどうすればいいでしょうか?
ベストアンサー1
zip
ビューでは以下を使用できます:
mylist = zip(list1, list2)
context = {
'mylist': mylist,
}
return render(request, 'template.html', context)
テンプレートでは
{% for item1, item2 in mylist %}
両方のリストを反復処理します。
これは Django のすべてのバージョンで動作するはずです。