django模板继承之完美解析

本文详细介绍了Django模板继承的概念,通过实例演示如何抽取重复代码到Base.html,使用block标签定义各页面的独有内容,以及解决模板继承过程中遇到的选中状态问题。此外,还提及了include标签的应用,用于将部分通用组件如导航栏单独成文件,提高代码复用性。

django模板继承之完美解析

我们看过的网页许多都类似以下这样的
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
只有中间一大块在变动
今天教给大家如何抽取其中的重复部分啦~

1.初始状态
在这里插入图片描述
有三个html,并找到其中重复的代码,并抽取出来放进Base.html。

2.block标签
在这里插入图片描述
因为只把重复的代码抽取出来。每个html独有的代码,在这里用block标签来标记位置。类似这里函数调用其他html的独有部分一样。

main是自己取得名字,大家随意

3.模板继承
在这里插入图片描述

{% extends 'Base.html'%}

即继承Base.html

{% block main %}
......
{% endblock %}

…填写每个html独有的代码块


不过做到这里还会有个小问题
就是刚刚图片右边选到就会亮,现在选到就不会亮,即便右边的已经改变了。

在这里插入图片描述
原来的选项是通过class=‘active’ 这个类才得以变亮的。
所以把Base.html里的这段代码删除,并复制给每一个html,而且相应的还要把这个类放对在这里插入图片描述

在这里插入图片描述
需要注意的是,我因为Base.html 这段代码和之前的block main的那段代码在上下位置,所以我在Base.html就没写新的block标签,其他的html也同样没写。他们是公用一个block main 标签的。

这样之后 就已经大大的OK啦~~


补充一个include标签
我们会遇到很多类似小米下面图片
在这里插入图片描述
先把这个单独的拿出来创建一个html。
我这里拿第一张图片的最上方的黑色导航栏做示范

在这里插入图片描述
我这里创建了一个navbar.html 并且把黑色导航栏的代码单独放在这里了。在原来的Base.html 里地方写下这段代码即可

{% include 'navbar.html' %}

还有一些小配置需要注意的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
相应的代码我就不贴啦
因为我懒~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值