07.模板的导入和继承
一.使用include导入模板
以优酷网页为例,在优酷网页中,不管你打开那个页面都会有相同的顶部和尾部,所以在写一个页面,如写电影的页面的时候就不需要在重新写一次顶部和尾部,这时候就需要使用include关键字来把写好的header.html和footer.html进行导入即可
注意使用include导入模板的格式:
二.导入模板时传递参数
在导航栏处即可知道当前处于什么页面,也就是该页面的导航栏处会有高亮显示的效果
此时就需要使用with关键字传递参数来实现该效果
三.模板的抽象
如下图所示:把四个html文件抽取为一个index.html文件,把相同的保留,不同的抽取出来,当页面进行跳转的时候,只需要在不同的地方做改变即可
原来的views.py文件和index.html文件
修改后的views.py文件和index.html文件
虽然把四个html文件抽象为一个index.html文件的,但是路由该添加的还是要添加
四.模板的继承
模板的继承使用extends来实现,使用extends关键字就可把要继承的文件中的所有内容都复制到本文件中
但是,如果在继承的基础上还想加本文件特有的东西该如何解决?
使用
{% block content %} 注:content是自己命名的
页面修改区域
{% endblock %}
在base.html中开启一个’缺口‘,其他继承该文件的文件可以通过该'缺口'来写自己的内容,如图所示:
其他文件同上,但是也不要忘记路由的配置:
五.模板的继承的完善
以index.html为例
对于其他,css,js等,如果需要自己特有的东西,就需要在base.html中对应的位置开'缺口'
index.html