学习笔记,仅供参考

参考自: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)--模板继承相关推荐

  1. Django从理论到实战(part17)--模板概述

    学习笔记,仅供参考 参考自:Django打造大型企业官网: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列中,尽量详细的记 ...

  2. Django从理论到实战(part18)--配置templates文件夹路径

    学习笔记,仅供参考 参考自:Django打造大型企业官网: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列中,尽量详细的记 ...

  3. Django从理论到实战(part22)--include模板标签

    学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...

  4. Django从理论到实战(part21)--自定义模板过滤器

    学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...

  5. Django从理论到实战(part24)--在模板中访问静态文件

    学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在这个系列 ...

  6. Django从理论到实战(part19)--DTL模板语法

    学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y:官方文档 本系列Blog以应用为主,理论基础部分我在后端专栏的Django系列博客已经写过了,如果有些需要补充的知识点,我会在 ...

  7. Django从理论到实战(part47)--ListView类

    学习笔记,仅供参考,有错必纠 参考自:Django打造大型企业官网–Huang Y: 文章目录 类视图 ListView类 举个例子 Paginator和Page类 Paginator常用属性 Pag ...

  8. Django从理论到实战(part45)--下载CSV文件

    学习笔记,仅供参考,有错必纠 参考自:Django打造大型企业官网–Huang Y: 文章目录 CSV文件 生成小的CSV文件 将`csv`文件定义成模板 生成大的CSV文件 StreamingHtt ...

  9. Django从理论到实战(part42)--QueryDict对象

    学习笔记,仅供参考,有错必纠 参考自:Django打造大型企业官网–Huang Y: 文章目录 QueryDict对象 QueryDict对象 我们平时用的request.GET和request.PO ...

最新文章

  1. 使用redis缓存加索引处理数据库百万级并发
  2. 你对博客中提到的评分规则有何意见和建议?
  3. jsp空白页面传html代码,echarts在HTML里测试一般,在jsp页面不显示,而且还把整个页面变成空白...
  4. 十分钟让你明白AIDL
  5. 15 操作系统第四章 文件管理 文件的物理结构 文件存储空间管理
  6. php软件开发--mongodb
  7. C/C++访问PostgreSQL数据库
  8. VS附加依赖项以及Opencv配置问题
  9. html常用字体代码大全,HTML常用字体代码(HTML is a common font code).doc
  10. 计算机辅助故障树分析法,非常实用的工具和方法:故障树分析法(FTA)
  11. 移动硬盘RAW格式修复
  12. 第12周 上机报告 1之练习3 回文日
  13. python纸对折8848_GitHub - yly8848/Python-100-Days: Python - 100天从新手到大师
  14. Attach在网络接入过程中的位置及实现功能
  15. Reentrantlock和背后金主AQS —————— 开开开山怪
  16. 云计算机怎么分盘,电脑硬盘怎么分区
  17. Windows与Linux的命令行命令对比
  18. 第7-6课:遗传算法的两个应用实例
  19. SAP-MM知识精解-采购标准业务(02-01)-消耗性物料的采购之基于成本中心的采购
  20. 帝国cms 评论 审核 php,帝国cms评论怎么做

热门文章

  1. mysql练习用的数据集下载(转载+自己补充步骤)
  2. ubuntu16.04的sudo设置为免密码(注意这里不是su免密码)
  3. 深度学习(三十三)——GAN参考资源
  4. 计算机学生工学交替报告书,工学交替学生守则
  5. mybatis项目报java.sql.SQLException: Numeric Overflow的异常
  6. 暴力子字符串查找算法
  7. 算法面试:栈实现队列的方案
  8. 几种HtmlEncode的区别(转)
  9. android应用APP中的页面响应时间测试
  10. 推荐:偷懒利器 EmEditor