Django从理论到实战(part23)--模板继承
学习笔记,仅供参考
参考自:Django打造大型企业官网–Huang Y;
本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列中,尽量详细的记录一下。
模板继承
模版继承类似于Python
中继承,在父类中可以先定义好一些变量和方法,然后在子类中实现。模版继承也可以在父模版中先定义好一些子模版需要用到的代码,然后子模版直接继承就可以了。并且因为子模版肯定有自己的不同代码,因此可以在父模版中定义一个block
接口,然后子模版再去实现,父模版(base.html)示例代码如下:
<!DOCTYPE html>
<html lang="en">
<head><link rel="stylesheet" href="{% static 'style.css' %}" /><title>{% block title %}我的站点{% endblock %}</title>
</head><body><div id="content">{% block content %}{% endblock %}</div>
</body>
</html>
我们将这个父模版,取名为base.html
,在父模板中先定义好一个简单的html
骨架,然后定义好两个block
接口,让子模版来根据具体需求来实现。子模板再通过extends
标签来继承,子模板代码示例如下:
{% extends "base.html" %}{% block title %}博客列表{% endblock %}{% block content %}{% for entry in blog_entries %}<h2>{{ entry.title }}</h2><p>{{ entry.body }}</p>{% endfor %}
{% endblock %}
注意事项
在子模板中,extends标签必须放在模版的第一行,子模板中的代码必须放在block标签中,否则将不会被渲染。
如果在子模板的某个block
中,想要使用父模版的内容,那么可以使用{{block.super}}
,比如,在子模板中我想要使用父模版的title
:
{% extends "base.html" %}
{% block title %}{{ block.super }}博客列表
{% endblock %}
Django从理论到实战(part23)--模板继承相关推荐
- Django从理论到实战(part17)--模板概述
学习笔记,仅供参考 参考自:Django打造大型企业官网: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列中,尽量详细的记 ...
- Django从理论到实战(part18)--配置templates文件夹路径
学习笔记,仅供参考 参考自:Django打造大型企业官网: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列中,尽量详细的记 ...
- Django从理论到实战(part22)--include模板标签
学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...
- Django从理论到实战(part21)--自定义模板过滤器
学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...
- Django从理论到实战(part24)--在模板中访问静态文件
学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...
- Django从理论到实战(part19)--DTL模板语法
学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y:官方文档 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在 ...
- Django从理论到实战(part47)--ListView类
学习笔记,仅供参考,有错必纠 参考自:Django打造大型企业官网–Huang Y: 文章目录 类视图 ListView类 举个例子 Paginator和Page类 Paginator常用属性 Pag ...
- Django从理论到实战(part45)--下载CSV文件
学习笔记,仅供参考,有错必纠 参考自:Django打造大型企业官网–Huang Y: 文章目录 CSV文件 生成小的CSV文件 将`csv`文件定义成模板 生成大的CSV文件 StreamingHtt ...
- Django从理论到实战(part42)--QueryDict对象
学习笔记,仅供参考,有错必纠 参考自:Django打造大型企业官网–Huang Y: 文章目录 QueryDict对象 QueryDict对象 我们平时用的request.GET和request.PO ...
最新文章
- 使用redis缓存加索引处理数据库百万级并发
- 你对博客中提到的评分规则有何意见和建议?
- jsp空白页面传html代码,echarts在HTML里测试一般,在jsp页面不显示,而且还把整个页面变成空白...
- 十分钟让你明白AIDL
- 15 操作系统第四章 文件管理 文件的物理结构 文件存储空间管理
- php软件开发--mongodb
- C/C++访问PostgreSQL数据库
- VS附加依赖项以及Opencv配置问题
- html常用字体代码大全,HTML常用字体代码(HTML is a common font code).doc
- 计算机辅助故障树分析法,非常实用的工具和方法:故障树分析法(FTA)
- 移动硬盘RAW格式修复
- 第12周 上机报告 1之练习3 回文日
- python纸对折8848_GitHub - yly8848/Python-100-Days: Python - 100天从新手到大师
- Attach在网络接入过程中的位置及实现功能
- Reentrantlock和背后金主AQS —————— 开开开山怪
- 云计算机怎么分盘,电脑硬盘怎么分区
- Windows与Linux的命令行命令对比
- 第7-6课:遗传算法的两个应用实例
- SAP-MM知识精解-采购标准业务(02-01)-消耗性物料的采购之基于成本中心的采购
- 帝国cms 评论 审核 php,帝国cms评论怎么做