import collections
data = [
{'firstname': 'John', 'lastname': 'Smith'},
{'firstname': 'Samantha', 'lastname': 'Smith'},
{'firstname': 'shawn', 'lastname': 'Spencer'},
]
new_data = collections.defaultdict(list)
for d in data:
new_data[d['lastname']].append(d['firstname'])
print new_data
は、ここで出力だことはできません。Djangoテンプレートは、ループdefaultdict
defaultdict(<type 'list'>, {'Smith': ['John', 'Samantha'], 'Spencer': ['shawn']})
、ここではテンプレートです:
{% for lastname, firstname in data.items %}
<h1> {{ lastname }} </h1>
<p> {{ firstname|join:", " }} </p>
{% endfor %}
しかし、私のテンプレートのループは動作しません。何も表示されません。それは私にエラーを与えない。どうすればこの問題を解決できますか?
<h1> Smith </h1>
<p> John, Samantha </p>
<h1> Spencer </h1>
<p> shawn </p>
テンプレートのコンテキストに辞書を挿入するコードは表示されていません。あなたはそれが適切に起こっていると確信していますか? –
はい、他のものはすべてループ外で正しくレンダリングされます。 – user216171