我是django的新手。我无法使用两级或多级字典呈现模板。下面是我的视图和模板代码。
来自view.py的代码
myList = {
'ParentABC': {
'ABC' : '#'
}
}
return render_to_response('index.html', myList)
我试过两个不同的模板,但没有运气: 模板1 -
<ul class="collapsible collapsible-accordion">
{% for eachCategory in myList %}
<li class="bold"><a class="collapsible-header waves-effect waves-teal">{{ eachCategory }}</a>
<div class="collapsible-body" style="">
<ul>
{% for subCat in myList.eachCategory %}
<li><a href="#">{{ subCat }}</a></li>
{% endfor %}
</ul>
</div>
</li>
{% endfor %}
</ul>
模板2-
<ul class="collapsible collapsible-accordion">
{% for category,value in myList.items %}
<li class="bold"><a class="collapsible-header waves-effect waves-teal">{{ category }}</a>
<div class="collapsible-body" style="">
<ul>
{% for subcategory,value1 in value.items %}
<li><a href="#">{{ subcategory }}</a></li>
{% endfor %}
</ul>
</div>
</li>
{% endfor %}
</ul>
渲染后,我总是低于html:
<ul class="collapsible collapsible-accordion">
</ul>
请帮助我。
答案 0 :(得分:1)
如果要使用键和值迭代对象,或仅使用{% for key, value in object.iteritems %}
{% for value in object.items %}
像
这样的东西<ul class="collapsible collapsible-accordion">
{% for eachCategory, catValue in myList.iteritems %}
<li class="bold"><a class="collapsible-header waves-effect waves-teal">{{ eachCategory }}</a>
<div class="collapsible-body" style="">
<ul>
{% for subCat in catValue.items %}
<li><a href="#">{{ subCat }}</a></li>
{% endfor %}
</ul>
</div>
</li>
{% endfor %}
</ul>
答案 1 :(得分:1)
使用以下代码示例
myList = {
'myList' : {
'ParentABC1': {
'ABC' : '#',
'DEF' : '#'
},
'ParentABC2': {
'ABC' : '#',
'DEF' : '#'
},
}
}
<ul class="collapsible collapsible-accordion">
{% for eachCategory, value in myList.items %}
<li class="bold"><a class="collapsible-header waves-effect waves-teal">{{ eachCategory }}</a>
<div class="collapsible-body" style="">
<ul>
{% for subCat in value %}
<li><a href="#">{{ subCat }}</a></li>
{% endfor %}
</ul>
</div>
</li>
{% endfor %}
</ul>