• 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
    努力吧,为了媳妇儿,为了家。。。
  • 相关阅读:
    网络安全法课程上线喽~
    网络安全法将在六一正式实施,我该如何继续爱你?
    安卓逆向入门(一)
    如何正确的使用Ubuntu以及安装常用的渗透工具集.
    Linux/CentOS各种服务框架的搭建完整流程
    【Anroid界面实现】WindowManager类使用具体解释——用户首次打开APP的使用教学蒙板效果实现
    2014年辛星jquery解读第三节 Ajax
    迅为4412开发板Linux驱动教程/硬件知识及原理图的使用
    点评国内各大在线app生成平台
    OpenGL ES2.0 基本编程
  • 原文地址:https://www.cnblogs.com/jlj9520/p/4840948.html
Copyright © 2020-2023  润新知