Django-模板的继承,extends和block一看就懂

Django对模板还提供了继承机制。
所谓的继承就是子模版可以沿用模板的内容,并且还可以添加新的内容来丰富现有模板。

对于Web开发来说,父模板一般来说只包含公共部分的内容,包含页头、导航栏、页脚、ICP声明等;

子模版一般是用来扩充或者丰富父模板的,正如浏览网站时,只要时同一个网站,他的页头、导航栏、页脚基本都是一样的,不一样的就是页面的主题内容了。

父模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}
    Django父模板
    {% endblock %}</title>
</head>
<body>
<div>
    {% block content %}父模板内容
    {% endblock %}
</div>
<div>
    {% block font %}页脚{% endblock %}
</div>
</body>
</html>

子模版

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>子模版</title>
</head>
<body>
{% extends 'base.html' %} 
{% block title %}Django子模版{% endblock %}    
{% block content %}
<p>子模版内容</p>
{% endblock %}
</body>
</html>

从上面我们可以看见,
1、子模版通过{%extends%}标签来继承父模板文件
2、重写{% block title%},重写标题(title)
3、重载{% block content%},覆盖父模板的内容

注意

子类模板中可以添加新内容来丰富父模板,前提时父模板中需要定义这一部分的内容,即使内容为空也可以;若是没有定义将不会被渲染。

结果展示

在这里插入图片描述
希望这篇文章对你有用!
谢谢点赞评论!

猜你喜欢

转载自blog.csdn.net/qq_44936246/article/details/119895495
今日推荐