• 模板继承


    转载

    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 标签。
  • 相关阅读:
    Keras入门(一)之基础篇
    Keras.layers各种层介绍
    python 深度学习
    git 与 tfs 源代码迁移工具
    使用RazorGenerator和预编译MVC引擎将Razor视图编译成DLL
    python资源
    .net Core 资源
    【ElasticSearch】win10 安装elasticSearch 6.6.1
    代码注释主要有哪几种
    html和css基础知识
  • 原文地址:https://www.cnblogs.com/anthony-wang0228/p/10914226.html
Copyright © 2020-2023  润新知