模版结构化优化-include引入模版

Posted ifdashui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模版结构化优化-include引入模版相关的知识,希望对你有一定的参考价值。

前提:为什么需要引入模版?

例如:在网页中可能只是局部在发生变化,头部和尾部都是固定不变的,那么局部在变化的时候,切换了地址,也就是切换到了另外一个页面

这样的话只有局部代码发生了改变,头部和尾部的代码都是不变的,在复制头部和尾部的相同代码给其他子页面的话就不是一个很好的办法了

所以,就是用到了引入模版

第一步:先创建django的脚手架

技术图片

 

 

 第二步:在templates下创建3个测试的页面 

技术图片

第三步:在view.py中渲染页面

技术图片

第四步:在urls.py中做映射

技术图片

 

第五步: 给这三个页面简单做个样式

技术图片技术图片技术图片

可以看到这三个页面的头部和尾部都是相同的代码,后面如果网页存在多个的话就很麻烦了

这时,我们可以创建两个页面技术图片

用来保存header和footer的相同代码

如图:

技术图片技术图片

接下来使用include 将这header.html 以及 footer.html  引入index.html 和 company.html 和 school.html

技术图片技术图片技术图片

在浏览器中输入:对应的映射地址就可以看到使用到该模版了

例如:

技术图片技术图片技术图片

 

这里就算大功告成了!

 

补充:  传递参数的问题  ->  不多BB,直接上栗子

1.我在这个映射 index.html 的的视图函数增加参数

技术图片

那么,毫无疑问,我在 index.html 页面中使用   {{ name }}   是某得问题的 

但是如果我在这个header.html 不变的这个头部中加上 

技术图片

那么,这个 name渲染的数据只能在index.html页面下能够显示,company.html 和 school.html 中不存在这个参数,所以就会显示一个空值

解决办法:在 company.html  和 school.html 的include模版中使用 with 传送一个自定义参数即可 

技术图片

这样就完事了!!!!!!

手打不易,累啊!

以上是关于模版结构化优化-include引入模版的主要内容,如果未能解决你的问题,请参考以下文章

标准模版库

Vue作用域插槽:用作循环结构的模版

1+X web中级 Laravel学习笔记——blade模版

前端独立引用 ejs模版

设计模式- 模版方法模式

关于C++模版的一个问题求教,如果取模板类内的一个结构体的指针。