我们在上一节代码基础上增加一些代码,样式:

文件名index.html,代码:

{% from 'macros/forms.html' import input %}

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>宏</title>
   <style>
       *{
           list-style: none;
           text-decoration: none;
       }
       .header{
           height: 60px;
           background: #3a3a3a;
           color: #fff;
           margin-bottom: 20px;
       }
       .header .nav-group{
           margin-left: 10px;
       }
       .header .nav-group li{
           float: left;
           line-height: 60px;
           margin: 0px 20px;
       }
       .nav-group li a{
           color: #fff;
       }
       .footer{
           height: 60px;
           background: #3a3a3a;
       }
       .footer p{
           color: #fff;
           margin-left: 30px;
           padding-top: 20px;
       }
   </style>
</head>
<body>
   <div class="header">
       <ul class="nav-group">
           <li><a href="#">新闻</a></li>
           <li><a href="#">音乐</a></li>
           <li><a href="#">贴吧</a></li>
           <li><a href="#">视频</a></li>
       </ul>
   </div>
   <table>
       <tbody>
           <tr>
               <td>账号</td>
               <td>{{ input(placeholder="请输入账号") }}</td>
           </tr>
           <tr>
               <td>密码</td>
               <td>{{ input(type="password", placeholder="请输入密码") }}</td>
           </tr>
           <tr>
               <td></td>
               <td>{{ input(type="submit", value="提交") }}</td>
           </tr>
       </tbody>
   </table>
   <div class="footer">
       <p>页面底部</p>
   </div>
</body>
</html>

现在考虑这样一个问题,如果页面头部和底部是很多页面要用的样式,那么如果在每一个新的文件中都要复制相同的代码肯定不是我们希望的,这时候就可以用到include标签了:

  • 用法

{% include '引用文件路径' %}

include前提是把相同的代码先提取出来,所以我们将对应的代码先提取成文件:

文件结构:

headers.html

<style>
   *{
       list-style: none;
       text-decoration: none;
   }
   .header{
       height: 60px;
       background: #3a3a3a;
       color: #fff;
       margin-bottom: 20px;
   }
   .header .nav-group{
       margin-left: 10px;
   }
   .header .nav-group li{
       float: left;        
       line-height: 60px;        
       margin: 0px 20px;    
   }
   .nav-group li a{
       color: #fff;    
   }
</style> <div class="header">
   <ul class="nav-group">
       <li><a href="#">新闻</a></li>
       <li><a href="#">音乐</a></li>
       <li><a href="#">贴吧</a></li>
       <li><a href="#">视频</a></li>
   </ul>
</div>

footers.html

<style>
   .footer{
       height: 60px;
       background: #3a3a3a;
   }
   .footer p{
       color: #fff;
       margin-left: 30px;        
       padding-top: 20px;    
   }
</style> <div class="footer">
   <p>页面底部</p>
</div>

将公共部分提取出以后在调用的地方只需要用include标签调用即可:

index.html

{% from 'macros/forms.html' import input %}

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>宏</title>
</head>
<body>
   {% include 'index/headers.html' %}
   <table>
       <tbody>
           <tr>
               <td>账号</td>
               <td>{{ input(placeholder="请输入账号") }}</td>
           </tr>
           <tr>
               <td>密码</td>
               <td>{{ input(type="password", placeholder="请输入密码") }}</td>
           </tr>
           <tr>
               <td></td>
               <td>{{ input(type="submit", value="提交") }}</td>
           </tr>
       </tbody>
   </table>
   {% include 'index/footers.html' %}
</body>
</html>

如果还有一个详情页,那么只需要:

detail.html

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Detail</title>
</head>
<body>
   {% include 'index/headers.html' %}
       <p>这是详情页</p>
   {% include 'index/footers.html' %}
</body>
</html>

显示

 
 
获取最新内容请关注公众号:自动化测试实战

Flask第31课——include标签的更多相关文章

  1. 【Flask模板】include标签

    # include标签:1. 这个标签相当于是直接将指定的模版中的代码复制粘贴到当前位置.2. `include`标签,如果想要使用父模版中的变量,直接用就可以了,不需要使用`with context ...

  2. Android 多个include标签的监听事件处理

    include标签的作用是为了xml文件代码的模块化,详细不再多提.主要是说说include标签的监听. 网上也有很多例子,不过大多是只写了一个include标签的监听,如果需要实现多个include ...

  3. include指令和include标签的区别

    区别 类别 语法 发生作用时间 包含的内容 转化成Servlet 编译时间 运行时间 include指令 <%@ include file="" %> 页面交换 实际内 ...

  4. Android优化——UI优化(二) 使用include标签复用布局

    使用include标签复用布局 - 1.include标签的作用 假如说我下图的这个布局在很多界面都用到了,我该怎么办?每个页面都写一遍的话,代码太冗余,并且维护难度加大. <LinearLay ...

  5. 【Android 界面效果25】android中include标签的使用

    在一个项目中我们可能会需要用到相同的布局设计,如果都写在一个xml文件中,代码显得很冗余,并且可读性也很差,所以我们可以把相同布局的代码单独写成一个模块,然后用到的时候可以通过<include ...

  6. JSP include标签和include指令

    test1.jsp <% int a = 5; out.println(a); %> test2.jsp <jsp:include page="/test1.jsp&quo ...

  7. Android Include标签

    编程的世界有的时候很微妙,有的时候就好像是在解决一个哲学问题,Android开发的时候,所有的布局,颜色,等(其实这些都可以称之为资源,Android中的资源是指非代码部分,如图片.音频.视频.字符等 ...

  8. mybatis include标签

    使用mybatis 的include标签达到SQL片段达到代码复用的目的 示例: xml文件 <sql id="paysql"> payid,p.oid,p.bdate ...

  9. Android中View绘制优化二一---- 使用<include />标签复用布局文件

    本文原创, 转载请注明出处:http://blog.csdn.net/qinjuning   译二:   使用<include />标签复用布局文件      翻译地址:http://de ...

随机推荐

  1. robot脚本编写规范

    一个robot脚本主要有四部分组成: ***settings*** 设置 ***keywords*** 关键词 ***variables*** 变量 ***test cases*** 测试用例 一般, ...

  2. 递归C++

    递归C++ 一.递归简介 自己调用自己 二.递归写法 2.1 写法介绍 先写出问题的递推公式 递归部分的边界条件就是递推公式中的边界条件 递归部分的主体部分就是递推公式中的主体部分 2.2 实例 (1 ...

  3. 雷林鹏分享:Ruby 判断

    Ruby 判断 Ruby 提供了其他现代语言中很常见的条件结构.在这里,我们将解释所有的条件语句和 Ruby 中可用的修饰符. Ruby if...else 语句 语法 if conditional ...

  4. LeetCode--141--环形链表

    问题描述: 给定一个链表,判断链表中是否有环. 思路:用快的指针追慢的指针,只要有圈,一定能追上. 错误: class Solution(object): def hasCycle(self, hea ...

  5. 20170405xlVBA快速录入

    Dim Rng As Range Dim Arr As Variant Dim LastCell As Range Dim FindText As String Dim ItemCount As Lo ...

  6. 3-22 Ruby 编码规则(个人整理)

    编码规则 https://github.com/thoughtbot/guides/tree/master/style/ruby *Use a trailing comma after each it ...

  7. Android发展历程

    Android历代版本的命名: 我们都是知道,安卓系统的历来的名称都是很有意思的,下面无限互联Android培训的老师归纳了一下:Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的 ...

  8. php date()

    PHP Date() 函数把时间戳格式化为更易读的日期和时间. date(format,timestamp) format:显示时间的格式.  timestamp:可选.规定时间戳.默认是当前时间和日 ...

  9. Eclipse用了官方汉化后,无法输入

    解决方法:Rclipse右键→属性→兼容性→windows vista

  10. 快速SQL调优/优化(SQL TUNING)——1分钟搞定超慢SQL

    前几天,一个用户的研发人员找到我了,说他们有个SQL语句非常慢,我说多慢?他们说:半个小时也没出结果.于是问他们要了SQL语句和执行计划,SQL语句就不能再这里贴出来了,下面是调整前的执行计划(略去某 ...