flask的继承和包含

时间:2023-03-09 13:44:17
flask的继承和包含

  为了方便使用重复的页面,我们也可以使用继承模板。还有包含模板,一般使用包含,俩个都不是很好理解,我只是用完的理解简单介绍一下,他们的用法打不相同,却又有类似之处
我们访问页面的时候在最上边会有导航的信息。也就是要跳转到哪。实现路由的访问,那么每一页中我们为了统一效果
是不是就可以将之前的页面样式拿来使用。这就涉及到了继承,以及包含。
在继承的时候,会使用 block 关键字。记住,想要现实效果,别忘了在Py文件中导入数据,引入页面,
那么就有了被继承的概念。谁继承谁。又是谁被谁继承,所以还有个关键字,就是extends

{# 模板继承使用block关键字 #}

{% block top %}

这里是导航栏,也是一样,导航栏的样式设置基本都一样,不然整体效果就不是很好,要有整体性

{% endblock top %}
<br />

{% block content %}

需要被继承的内容,在这里填充
下边的所有内容在另一个页面,需要继承过来,继承过来的只是内容,
面向对象中继承父类的同名方法,就是说,只是调用了东西。而没有做这个页面的修改,正好相反
就可以吧另一个页面写的内容拿到这里使用

{% endblock content %}

{# 继承模板使用关键字extends #}

{% extends 'day03_base.html' %}

{% block content %}

那么这里的就是导航栏下边的所有的内容,就是说继承的所有机制<br />
为了提高开发效率。将一个主要的模板。相同的组件都可以继承,与之相反的是包含机制。<br />
包含的机制比这个好理解。也更好用

{% endblock content %}

那么包含也是类似。只是没有继承这样麻烦。也是讲原有设计好的模板直接拿过来使用。也就是说可以分开使用,
类似于拼接起来的模型。这只是我的理解。将一个个组件接起来使用,构建成一个完整的动态页面

{# 使用include关键字,来包含之前定义好的模板 #}
<!-- 调用了另一个文件 -->
{% include 'day03_top.html' %}