車のデータがあり、それらをブートストラップリストグループに表示します。問題は、1台の車のブランドをに一度しか表示しないことです。Djangoのブートストラップリストグループにデータを表示する
{u'cars': [{u'brand': u'Ford', u'model': u'Focus'}, {u'brand': u'u'Ford', u'model': u'Fiesta'}, {u'brand': u'u'Toyota', u'model': u'Hilux'}]
私はviews.pyに車を一覧表示する追加:http://www.bootply.com/XEnAquIInD
、NOT LIKE:
for i in readable_json["cars"]:
cars.append({
'brand': i['brand'],
'model': i['model'],
})
ので、この例では、私はそれがブートストラップリスト・グループで、次のように示されたいですこれは: http://www.bootply.com/2YX7PgB1ch
問題はDjangoのテンプレートで私に来る。私はテンプレートの車をループするときに、リスト項目のHTMLに異なるデータの親のIDを持つ必要があります。また、どのように私が確認することができます、1つ以上の車のブランドが表示されていることはありません?私はあなたのビューのデータをクリーンアップするために、このような何かをするだろう
<div id="MainMenu">
<div class="list-group panel">
<div href="#demo" class="list-group-item list-group-item-success" data-parent="#MainMenu">Laitteet</div>
<div class="collapse in" id="demo">
{% for car in cars %}
<a href="#{{ ??? }}" class="list-group-item" data-toggle="collapse" data-parent="#{{ ??? }}">{{ car.brand }} <i class="fa fa-caret-down"></i></a>
<div class="collapse list-group-submenu" id="{{ ??? }}">
<a href="#" class="list-group-item" data-parent="#{{ ??? }}">{{ car.model }}</a>
</div>
{% endfor %}
</div>
</div>
</div>
をあなたは、テンプレートに一意性をチェックするようにロジックをやってすべきではない - あなたはあなたのビューとする前にデータをフィルタリングすることを行う必要がありますテンプレートに渡されます。ユニークなIDを追加すると、シンプルになります。 – solarissmoke
2つのリストを作成する必要があります。 1つは車用、もう1つはID用です:s? – MMakela
番号です。データの出所は部分的に異なります。ソースに固有のID(データベースIDなど)を持っていますか?そうでない場合は、車名のような固有のフィールドを(slug)(https://docs.djangoproject.com/en/1.9/ref/utils/#django.utils.text.slugify)できます。 – solarissmoke