Django模板的继承和引入

Web网站,多个HTML的头部和尾部都是一样的,这个时候代码就会冗余,为了解决这种冗余,就需要使用模板的继承或者引入。

1、引入模板
  • 有时候一些代码是在许多模板中都用得到的。如果我们每次都重复的去拷贝代码那肯定没有必要
  • 一般,我们可以把这些重复性的代码抽取出来,就类似python中的函数一样,以后想要使用这些代码的时候,就通过include包含进来。这个标签就是include
#header.html
<p>我是header</p>

#footer.html
<p>我是footer</p>

#main.html
{% include 'header.html' %}
<p>我是main内容</p>
{% include 'footer.html' %}
  • 路径是相对于templates文件
  • nav.html为公共文件
  • 引入了就不好改里边的内容了
    在这里插入图片描述
2、继承模板(推荐方式)

模板继承和类的继承含义是一样的,只要是为了提高代码重用,减轻开发人员的工作量。
典型应用:网站的头部、尾部信息

1)父模板
  • 如果发现在多个模板中有些内容相同,那就应该把这段内容定义到父模板中。
  • 标签block:用于在父模板中预留区域,留给子模版填充差异性的内容,名字不能相同。
  • 为了提高可读性,建议给endblock 标签写上名字,这个名字与对应的block名字相同。父模板中也可以使用上下文中传递过来的数据
{% block 名称 %}
	'''预留区域,可以编写默认内容也可以没有默认内容'''
{% endblock 名称%}
2)子模版
#标签 extends:继承,写在子模版文件的第一行
{% entends "父模板路径" %}

'''
	子模版不用填充父模板中的所有预留区域,如果子模版没有填充,则使用父模板定义的默认值。
'''
#填充父模板中指定名称的预留区域
{% block 名称%}

实际填充内容

{{{block.super}}	用于获取父模板中block的内容
{% endblock 名称%}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值