私が得るエラー:
Forループをアンパックするには2つの値が必要です。 1を得た。
これが私の表示:
class Index(View):
def get(self, request, slug):
test = {
1: {
'id': 1,
'slug': 'test-slug-1',
'name': 'Test Name 1'
},
2: {
'id': 2,
'slug': 'test-slug-2',
'name': 'Test Name 2'
}
}
context = {
'test': test
}
return render(request, 'wiki/category/index.html', context)
これが私のテンプレートです:
{% block content %}
<div>
{{ test }}
<ul>
{% for key, value in test %}
<li>
<a href="#">{{ key }}: {{ value }}</a>
</li>
{% endfor %}
</ul>
</div>
{% endblock %}
次のようなテンプレートも試しました。
{% block content %}
<div>
{{ test }}
<ul>
{% for value in test %}
<li>
<a href="#">{{ value }}: {{ value.name }}</a>
</li>
{% endfor %}
</ul>
</div>
{% endblock %}
エラーはありませんが、{{ value }}
はキーを表示します(これは問題ありません)が、{{ value.name }}
何も表示されません。 {{ test }}
私の口述を示しています。
辞書の項目をループして、キーと値を取得します。
{% for key, value in test.items %}
Djangoに精通していない。ただし、デフォルトでは、Pythonは辞書のキーを反復処理します。また、Python2を使用していると仮定します。値を取得するには、次の操作を行う必要があります。
{test.itervalues()の値の%%}
両方が必要な場合は、次のことを行う必要があります。
{キーの%、test.iteritems()の値%}
それはあなたに鍵と価値の両方を与えるでしょう。