tonado框架的列表嵌套 (template中for循环嵌套)
2015-09-26 16:45
162 查看
学习了tonado框架,渐渐开始明白模板的转换,以后肯定还会遇到很多问题。。。
[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"
功能描述:
页面显示读取的数据库父导航名称,再通过嵌套列表将子导航名称和地址查询出来,返回到页面显示,由于页面有多个父导航,父导航下又有多个子导航,所以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
相关文章推荐
- Android项目实战-云词典
- 智慧银行不再“面对面”它比ATM聪明 它叫VTM
- 占用CPU时间,调用函数,点亮LED的C语言程序 【原创】
- Android项目源码运行不起来的七种解决方法
- Maven pom.xml加载不同properties配置
- 在visual studio 2010中调用ffmpeg
- CSS3实现动画
- web前端学习笔记(2)——调色板简单初始版
- JS实现选择不同select标签option值的验证
- C基础--单链表的构造
- 1.4 CentOS7 配置AMP环境之安装准备
- 工具链无效。新 App 和 App 更新必须使用公共(正式)版 Xcode 6 或更高版本以及 iOS 8 SDK 或更高版本来构建。请勿提交 Beta 版软件构建的 App。
- JS实现类似网页的测试考卷
- 远程登录win7提示要登录到这台远程计算机你必须被授?
- 深入解析Java的包(package)
- HTML中的框架是什么?
- DOM与元素节点内联样式
- test8.4
- 换了博客的第一篇博文
- iOS经典讲解之Objective-C关联对象的内存管理