来看一个例子

我们有一个订单的页面和购物车的页面,比如下面的截图,我的购物车的页面和订单的页面只有圆圈中的截图的内容不一样

所以我们的订单的html页面和购物车的html业务的html几乎都是一致的

订单的html代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0px;
}
.page-header{
height: 50px;
background-color: silver;
}
.page-body .menu{
height: 400px;
background-color: aqua;
float: left;
width: 20%; }
.page-body .context{
height: 400px;
background-color: red;
width: 80%;
float: right;
}
.page-footer{
height: 30px;
background-color: yellow;
clear: both;
}
</style>
</head>
<body>
<div>
<div class="page-header"></div>
<div class="page-body">
<div class="menu">
<a href="/ordered/">订单</a>
{# 这里href是一个路径,就和我们从前端怎么访问某个html的路径是一样的,也需要调用视图函数#} <a href="/shopping/">购物城</a>
</div>
<div class="context">
订单
</div>
</div>
<div class="page-footer"></div>
</div>
</body>
</html>

  

购物车的html代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.page-header{
height: 50px;
background-color: silver;
}
.page-body .menu{
height: 400px;
background-color: aqua;
float: left;
width: 20%; }
.page-body .context{
height: 400px;
background-color: red;
width: 80%;
float: right;
}
.page-footer{
height: 30px;
background-color: yellow;
clear: both;
}
</style>
</head>
<body>
<div>
<div class="page-header"></div>
<div class="page-body">
<div class="menu">
<a href="/ordered/">订单</a>
<a href="/shopping/">购物城</a>
</div>
<div class="context">
购物车1
</div>
</div>
<div class="page-footer"></div>
</div>
</body>
</html>

  

然后我们写视图函数

如果有上面的例子,我们就可以写一个基本的html文件,也就是父亲html文件

父亲的html的代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
margin: 0px;
}
.page-header{
height: 50px;
background-color: silver;
}
.page-body .menu{
height: 400px;
background-color: aqua;
float: left;
width: 20%; }
.page-body .context{
height: 400px;
background-color: red;
width: 80%;
float: right;
}
.page-footer{
height: 30px;
background-color: yellow;
clear: both;
}
</style>
</head>
<body>
<div>
<div class="page-header"></div>
<div class="page-body">
<div class="menu">
<a href="/ordered/">订单</a>
{# 这里href是一个路径,就和我们从前端怎么访问某个html的路径是一样的,也需要调用视图函数#} <a href="/shopping/">购物城</a>
</div>
{% block content %}
{# content:就是我这个盒子的名称 #}
xxxxxxxxxxxxxxxxx
{% endblock %}
</div>
<div class="page-footer"></div>
</div>
</body>
</html>

  

我们重点关注这一段

这里的意思 有一个盒子,名称是content,这个名字不能重复,这里的xxxxxxxxxxx的意思是如果在子html如果没有替换content这个盒子,就会默认显示xxxxxxxxxxxxxxx,如果有的话,就会显示为子html文件的内容

下面我们看下子html文件中的内容,首先需要引入父html文件,然后替换盒子名称为content的盒子,替换为的内容就中间包裹起来的标签内容

{% extends "base.html" %}

{% block content %}
<div class="context">
订单1
</div>
{% endblock %}

  

如果在模板的的块中写上数据,那么如果其他html文件在继承模板的时候没有重xieblock中内容,则会继承模板中的数据

比如下面的例子,我在模板中定义了a标签

    <div class="body">
<div class="left">
<a href="/app1/test1/" title="订单">订单</a>
<a href="/app1/test2/" title="商店">商店</a>
</div>
<div class="right">
{% block context %}
<h1>模板的数据</h1>
{% endblock %}
</div>
</div>
<div class="foot">
<em><h1>底部</h1></em>
</div>
</body>

  

我在订单页面没有重写context,而在商店重写了context

{% extends "base.html" %}

{% block context %}
<em>
<b>
<h1>商店</h1>
</b>
</em>
{% endblock %}

  

{% extends "base.html" %}

{#{% block context %}#}
{# <em>#}
{# <b>#}
{# <h1>订单</h1>#}
{# </b>#}
{# </em>#}
{#{% endblock %}#}

  

我们看页面的效果

订单页面

商店页面

最新文章

  1. sql注入时易被忽略的语法技巧以及二次注入
  2. Java图片处理 Thumbnails框架
  3. Android启动icon切图大小
  4. 71 fdisk-Linux 的磁盘分区表操作工具。
  5. java 类的静态变量
  6. PHP安装所最到的问题-解决方案
  7. Windows、VS 与 .net
  8. Winform数据导出Execl小工具
  9. StretchDIBits函数
  10. iOS:抽屉侧滑动画两种形式(1、UIView侧滑 2、ViewController侧滑)
  11. 《Java TCP/IP Socket 编程 》读书笔记之十一:深入剖析socket——TCP套接字的生命周期
  12. FileStorage
  13. 开发中,android手机WIFI无法使用,无SIM卡故障解决
  14. 【转】通过blob获取图像并显示
  15. nginx:支持跨域访问
  16. ftp相关常用命令
  17. 第二波分析:德国是2018世界杯夺冠最大热门? Python数据分析来揭开神秘面纱… (附源代码)
  18. 【转】open-falcon监控windows机器
  19. 实例-PHP_SELF、 SCRIPT_NAME、 REQUEST_URI区别-获取前台公用文-dirname-PHP的&quot;魔术常量&quot;-str_replace
  20. (转)Docker镜像中的base镜像理解

热门文章

  1. win10的坑之wifi找不到
  2. 关于javascript的cookie的封装
  3. Spark分析之DAGScheduler
  4. 洛谷:P1087 FBI树 P1030 求先序排列 P1305 新二叉树
  5. node使用MySQL数据库
  6. 动态html处理和及其图像识别
  7. uva-10420-排序
  8. 类unix系统同步目录,却不同步目录中文件
  9. 亿图eddx与visio转换
  10. Windows下MySQL5.6查找my.ini配置文件