Django 模版结构

在编写html页面时,我们会发现部分html代码是可以重复的,比如csdn的头部或者尾部,在其他页面也许都会用到,如果每个页面都要写一次这些代码,那么耦合度就高,我们可以将这部分代码抽离出来,通过include标签来引入

1. include模版

hedaer.html

<p>我是头部</p>

footer.html

<p>我是尾部</p>

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Django学习</title>
</head>
<body>
    {% include 'hedaer.html' %}
    内容
    {% include 'footer.html' %}
</body>
</html>

效果

2. 模板继承

比include更强大的实现,类似于python继承,子类可以继承父类的属性和方法,而模版继承就是子模版可以继承父模版的内容,也可以实现vue插槽功能

父模版:block设置子模版自定义填充内容,类似block挖了一个坑,并命名坑名:content,如果有子模版继承了它,那么子模版可以自己找命名坑:content,然后把自己需要的东西填进去

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}{% endblock %}</title>
</head>
<body>
    {% include 'hedaer.html' %}

    {% block content %}
    {% endblock %}

    {% include 'footer.html' %}
</body>
</html>

子模版:extends必须要第一行

{% extends 'base.html' %}

{% block title %}子模版标题{% endblock %}

{% block content %}
    <h1>我是子模版的内容</h1>
{% endblock %}

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值