首页 > 其他 > 详细

模板继承

时间:2019-05-23 20:52:15      阅读:94      评论:0      收藏:0      [点我收藏+]

转载

Django模版引擎中最强大也是最复杂的部分就是模版继承了。模版继承可以让您创建一个基本的“骨架”模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 blocks 

创建模板:

 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        {% block style %}
        .c1{
            background-color: red;
            height: 200px;
            width: 200px;
        }
        {% endblock %}
    </style>
</head>
<body>

<div class="c1">
    {% block content %}
    <p>这是模板</p>
    {% endblock %}
</div>

</body>
</html>
 
1
2
3
4
5
{% block content %}
    <p>这是模板</p>
{% endblock %}
 
凡是被大括号包裹的内容表示,该模板被继承后这个内容可以自定义

继承模板:

 
<!--继承模板,必须写在最上面-->
{% extends ‘模板.html‘ %}

{% block style %}
    .c1{
        background-color: yellow;
        height: 100px;
        width: 100px;
    }
{% endblock style %}

{% block content %}

    <!--保留模板内容-->
     {{ block.super }}

    <p>继承后重写样式</p>

{% endblock content %}
 

技术分享图片

根据名字指定到哪里结束,使用block.super可以保留模板内容

  • 为了更好的可读性,你也可以给你的 {% endblock %} 标签一个 名字 。例如:

{% block content %}
...
{% endblock content %}  

   在大型模版中,这个方法帮你清楚的看到哪一个  {% block %} 标签被关闭了。

  • 不能在一个模版中定义多个相同名字的 block 标签。

模板继承

原文:https://www.cnblogs.com/anthony-wang0228/p/10914226.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!