关于Django的模板继承与注意事项

Django中的模板引擎中,子模板继承父模板中是这样实现的。
    
在父模板(假设url为:dad.html)中,

<!doctype html>
  <head>
  ...
  {% block title %}
  <title>aaa</title>
  {% endblock %}
  </head>
  <body>
    {% block content %}
        <div>
            <p>aaa</p>
        </div>
    {% endblock %}
    {% block text %}
        <h1>我没有被覆盖</h1>
    {% endblock %}
  </body>
</html>

在子模板(假设url为:child.html)中没有任何东西,只有以下代码

{% block title %}
    <title>bbb</title>
{% endblock %}
{% block content %}
    <div>
    <p>bbbbb</p>
    </div>
{% endblock %}

当我们打开了子模板的路径后,子模板中block包含的东西为覆盖掉父模板中同名block所包含的东西。若父模板中有东西没有被子模板覆盖,如上面父模板中的text。那么父模板中名为text的block的内容将会被继承下来到子模板中显示。

    
需要注意的是:
1. block的格式为:{% block name %}…{% endblock %}
2. block中,前面的百分号的后面需要有空格,后面的百分号前面需要有空格。必须按格式来,否则模板引擎会识别不了
3. 说到底,子模板的继承其实就是 替换掉 父模板中同名的block块,其余没有被替换掉的就被子模板原封不动的继承了下来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值