tonado框架的列表嵌套 (template中for循环嵌套)
学习了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
tonado框架的列表嵌套 (template中for循环嵌套)的更多相关文章
- JS中for循环嵌套
for 循环 for语句也是一种前测试循环语句,但它具有在 执行循环之前初始化变量 和 定义循环后要执行的代码的能力 for循环中专门提供了位置来放置循环的三个表达式 定义一个循环需要做实现这三步: ...
- JS中的循环嵌套 BOM函数
[嵌套循环特点] 外层循环转一次,内层循环转一圈 外层循环控制行数,内层循环控制每行元素个数 [做 ...
- Jquery 中each循环嵌套的使用示例教程
1.从MVC返回的Json数据如下: 2.下面是客户端实现的示例: $.post("/admin/GetPermissionsForRole", function (data,st ...
- JavaScript中For循环以及For循环嵌套实例
JavaScript中For循环实例 1.打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身. 例如:153是一个 ...
- day05生成随机数、do-while循环、for循环、循环流控(break和continue)、循环嵌套
复习 1.多重if 一个条件触发的情况在3种或以上时 if(<条件1>){ //条件1为真时运行 }else if(<条件2>){ //条件1为假,条件2为真时运行 }else ...
- C++ - 模板(template)中typename的使用方法
声明template参数时, 前缀关键字class和typename可以互换; 使用关键字typename标识嵌套从属类型名称, 但不需在基类列表和成员初始化列表内使用. 从属名称(dependent ...
- .NET缓存框架CacheManager在混合式开发框架中的应用(1)-CacheManager的介绍和使用
在我们开发的很多分布式项目里面(如基于WCF服务.Web API服务方式),由于数据提供涉及到数据库的相关操作,如果客户端的并发数量超过一定的数量,那么数据库的请求处理则以爆发式增长,如果数据库服务器 ...
- ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中
目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...
- web框架学习列表
转载自鲁塔弗的博客,原文网址:http://lutaf.com/148.htm web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的 ...
随机推荐
- 【python】sql语句插入中内容同时包含单引号和双引号的解决办法
在python中调用MySQLdb模块插入数据信息,假设待输入信息data为: Hello'World"! 其中同时包含了单引号和双引号 一般插入语句为 sql = "insert ...
- ios企业应用发布流程
转载自:http://blog.csdn.net/justinjing0612/article/details/8758692留作备忘 企业发布app的 过程比app store 发布的简单多了,没那 ...
- IOS- 快速排序,冒泡排序,直接插入排序和折半插入排序,希尔排序,堆排序,直接选择排序
/*******************************快速排序 start**********************************///随即取 当前取第一个,首先找到第一个的位置 ...
- CSS设置超出指定宽度自动换行
一.背景 最近项目中有用到在div中显示用户反馈的信息,是指定宽度的div,超出要自动换行,开始写好后感觉应该没什么问题,后来自己随便输入测试数据的时候发现:如果是纯字母或者是纯数字就会出现超出了也不 ...
- IOS开发之实现App消息推送
转自:http://blog.csdn.net/shenjie12345678/article/details/41120637 第一部分 首先第一步当然是介绍一下苹果的推送机制(APNS)咯(ps: ...
- 17.观察者模式(Observer Pattern)
using System; using System.Collections.Generic; namespace ConsoleApplication10 { /// <summary> ...
- Oracle如何写出高效的SQL
转载:http://www.blogjava.net/ashutc/archive/2009/07/19/277215.html 1.选择最有效率的表明顺序(只在基于规则的优化器中有效) Oracle ...
- sqlplus使用(二)
详见SQL*Plus® User's Guide and Reference Release 11.2 5 Using Scripts in SQL*Plus 1.定义环境变量 _EDITOR ...
- JavaScript - Html 中使用JavaScript
把JavaScript插入到HTML页面要使用<script>元素.使用这个元素可以把JavaScript嵌入到HTML页面中,让脚本与标记混合在一起:也可以包含外部的JavaScript ...
- android开子线程避免出现main错误
Runnable SonThread=new Runnable() { @Override public void run() { // TODO Auto-generated method stub ...