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

Posted myriads_changes_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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%},覆盖父模板的内容

注意

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

结果展示


希望这篇文章对你有用!
谢谢点赞评论!

以上是关于Django-模板的继承,extends和block一看就懂的主要内容,如果未能解决你的问题,请参考以下文章

python测试开发django-7.django模板继承(block和extends)

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

Django4.3_templates模板之继承标签extends和include添加标签

django模板中的extends和include使用方法

django模板语言中的extends,block和include

django模板语言中的extends,block和include