模板扩展
一个块语句压缩了一些当你扩展时可能想要改变的模板元素
例如,为了使用一个能动态header块,你可以在父模版中添加:
<header>
{% block header %}{% end %}
</header>
然后为了在子模板中覆写{% block header %}{% end %}部分,你可以使用块的名字引用,并把想要的内容放到其中
{% block header %}{% end %}
{% block header %}
<h1>Hello world!</h1>
{% end %}
任何继承这个模板的文件都可以包含它自己的{% block header %}和{% end %},把一些不同的东西加进去
意味着你可以使用你的HTML相同代码为你网站不同的网页共享。
通过这种方法,当你想使用同样的信息或布局,或者你想改变某些模板内容时,你不必在每个文件中都重复着相同的代码。你仅仅只需要改变一个文件,而不是所有的。
<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Pos机</title>
<link rel="stylesheet" href="../../static/css/style.css"> //外部样式表
{% block style(标签名) %}
//创建了一个block(块),这个模板标签允许你在其中插入扩展自base.html的模板的HTML代码
{% endblock %}
</head>
<body>
<div>
<div class="option">
<div class="opt-list">
<input type="button" class="list visit-link" value="Let's Go"/>
</div>
</div>
{% block content %}
//这个模板标签允许你在其中插入扩展自base.html的模板的HTML代码
{% endblock %}
</div>
</body>
</html>
模版文件引入:
{% extends 'blog(项目名)/base.html'(模版名) %}
css与jQuery方法引入再建一个模版标签即可
{% load staticfiles %}(加载静态文件)
{% block style(标签名) %}
<link rel="stylesheet" href="{% static 'css/cart.css' %}">
<script src="../../static/js/shopping_list.js"></script>
{% endblock style %}
应用模版:
{% extends 'cart/base.html' %} //引入模版
{% load staticfiles %} //加载静态文件,引入css,js
{% block style %}
<link rel="stylesheet" href="../../static/css/home.css">
<script src="../../static/js/home.js"></script>
{% endblock style %}
{% block content %} //具体内容
<div class="detail">
<h1>Welcome to Let's Go!</h1>
<p>商店里进行购物结算时会使用收银机(POS)系统,这台收银机会在结算时根据客户的
购物车(Cart)中的商品(Item)和商店正在进行的优惠活动(Promotion)进行结算和打印购物清单。
已知该商店正在对部分商品进行“买三送一”的优惠活动,即买三件商品其中一件是送的,按照两件商品价格结算。
我们需要实现一个名为printInventory函数,该函数能够将指定格式
的数据作为参数输入,然后在浏览器的控制台中输出结算清单的文本。
</p>
<input class="visit" type="button" value="Let's Go" onclick="location='shopping_list.html'">
</div>
{% endblock content %}