• 模板继承


    转载

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

    创建模板:

     
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            {% block style %}
            .c1{
                background-color: red;
                height: 200px;
                 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;
             100px;
        }
    {% endblock style %}
    
    {% block content %}
    
        <!--保留模板内容-->
         {{ block.super }}
    
        <p>继承后重写样式</p>
    
    {% endblock content %}
     

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

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

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

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

    • 不能在一个模版中定义多个相同名字的 block 标签。
  • 相关阅读:
    深入理解HTTP协议及原理分析
    如何提高php应用的性能?
    PHP的网站主要攻击方式有哪些?
    五种常见的 PHP 设计模式
    排序算法之插入排序类
    排序算法之交换排序类
    Redis之Zset
    Redis之Set
    Redis之List
    Redis之Hash
  • 原文地址:https://www.cnblogs.com/anthony-wang0228/p/10914226.html
Copyright © 2020-2023  润新知