Django模板继承

Django的模板继承类似于Python的类继承,用于提高效率。父模板包含重复代码,子模板继承并可重写父模板的特定部分。在父模板`base.html`中使用`block`标签,子模板通过`{% extends 'base.html' %}`指定继承,并能覆盖相同名称的`block`内容。子模板只继承内容,不继承上下文,需在相应`block`内添加视图中的上下文才能显示。
摘要由CSDN通过智能技术生成

模板继承:和Python中类的继承是相似的,典型应用是网站开头或者网站结尾。

父模板:如果一段代码重复出现,为了效率,通常会把这段代码定义到模板中,这个模板就是父模板。父模板定义在templates目录下。

子模板:需要继承父模板格式的模板,定义在templates/应用目录下。

模板继承中使用block标签,格式:

{% block 名称 %}
预留区域,可以编写默认内容,也可以没有默认内容
{% endblock 名称 %}
为了更好的可读性,建议block和endblock写上相同名称。

父模板代码:base.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{% block top %}
<h1>这是网页头部</h1>
{% endblock top%}

{% block content1 %}
<div>这是个牛逼的网站</div>
{% endblock content1%}

{% block content2 %}
{# 预留区域 #}
{% endblock content2%}

{% block bottom %}
<h1>这是网页尾部</h1>
{% endblock bottom%}
</body>
</html>

子模板:jicheng.html

<!DOC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值