您的位置:首页 > 其它

tonado框架的列表嵌套 (template中for循环嵌套)

2015-09-26 16:45 162 查看
        学习了tonado框架,渐渐开始明白模板的转换,以后肯定还会遇到很多问题。。。

功能描述:

      页面显示读取的数据库父导航名称,再通过嵌套列表将子导航名称和地址查询出来,返回到页面显示,由于页面有多个父导航,父导航下又有多个子导航,所以template采用for循环嵌套,model里有两个类。两个列表关系分如下:

[pnav1, pnav2, pnav3]

pnav1.pnav_name = "父导航名1"

pnav1.cnavs = [cnav1, cnav2, cnav3]

cnav1.cnav_name = "子导航名1"

cnav1.cnav_addr = "子导航映射地址1"

cnav2.cnav_name = "子导航名2"

cnav2.cnav_addr = "子导航映射地址2"

pnav2.pnav_name = "父导航名2"

pnav2.cnavs = [cnav1, cnav2, cnav3]

cnav1.cnav_name = "父导航名2的子导航名1"

cnav1.cnav_addr = "父导航名2子导航映射地址1"

cnav2.cnav_name = "父导航名2子导航名2"

cnav2.cnav_addr = "父导航名2子导航映射地址2"

tonado-template代码片段:

{%for pnav in pnavlist %}
<div class="panel-heading">
<h4 class="panel-title"> <a class="a" data-toggle="collapse" data-parent="#accordion"  href="#collapseThree"> <span class="glyphicon glyphicon-plus-sign span_icon" aria-hidden="true" data-toggle="collapse" data-parent="#accordion" ></span> </a>{{pnav.pnav_name}}</h4>
</div>
<div id="collapseTwo" class="panel-collapse collapse in">
<div class="panel-body">
{%for cnav in pnav.cnavs %}
<ul class="list-unstyled panel-title1">
<li>
<span class="glyphicon glyphicon-minus-sign span_icon" aria-hidden="true" data-toggle="collapse" data-parent="#accordion" >
</span>
<a href="{{cnav.cnav_addr}}" class="active">{{cnav.cnav_name}}
</a>
</li>
</ul>
{%end%}
</div>
</div>
{%end%}

model代码:

class pnav

def __init__(self,  pnav_name):

self.pnav_name = pnav_name
self.cnavs = []

class cnav

def __init__(self,  cnav_name, cnav_addr):

self.cnav_name = cnav_name
self.cnav_addr = cnav_addr
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: