一、定义基础模板

在html内容中定义多个block块,block由子模板引用同名block块,来决定是否替换这些部分
{% block title %}一些内容,这里可不填{% endblock %}
{% block content %}一些内容,这里可不填{% endblock %}
{% block footer %}一些内容,这里可不填{% endblock %}

这里 title content footer 不是变量,名字自定义

block一般定义在base.html中 block是可以在那些继承base的html中添加内容的区

二、子模板的引用方式

{% extends “base.html” %}
{% block title %}The current time{% endblock %}
{% block content %}

It is now {{ current_date }}.

{% endblock %}
第一句是固定的格式,必须为模板中的第一个模板标记
extends的参数一般为字符串,也可为变量
可带路径,相对路径,以 TEMPLATE_DIRS 的模板目录 为基准
子模板决定替换的block块,无须关注其它部分,没有定义的块即不替换,直接使用父模板的block块

三、引用上级代码块在其基础上进行一些修改 {{ block.super }}

{% block footer %}
{{ block.super }}
AAAAA
{% endblock %}

Django模板系统——模板包含另一模板 include

使用模板加载API机制之后,可用的包含其它模板标签
{% include ‘nav.html’ %}
{% include “nav.html” %}

可带路径,相对路径,以 TEMPLATE_DIRS 的模板目录 为基准
{% include ‘includes/nav.html’ %}

可使用变量名
{% include template_name %}
包含的变量都会统一处理,不区分是第几层模板

Django的{{ block.super }}模板标签
Django模板中{{ block.super }}这个标签非常有用,可以做到不仅仅是覆盖父模板,而是在父模板基础上追加内容。当然也可以覆盖。

这就给了我们灵活性:既可以完全重写,也可以复用父模板,也可以在复用的基础上扩展。

参考:https://blog.csdn.net/weixin_39198406/article/details/78866035

最新文章

  1. SQL Server-聚焦INNER JOIN AND IN性能分析(十四)
  2. Html特殊字符表
  3. 我的Android第四章:Android的adb命令使用以及SQlite数据库运用
  4. javaScript事件(五)事件类型之鼠标事件
  5. Centos 6.5 挂载硬盘 4K对齐 (笔记 实测)
  6. 使用 IntraWeb (38) - TIWAppForm、TIWForm、TIWBaseHTMLForm、TIWBaseForm
  7. mysql的统计函数
  8. 【log】log4j
  9. 转--简单工厂模式 Simple Factory
  10. JavaScript Modules
  11. JBPM4 常用表结构及其说明
  12. redis基本命令的演示:
  13. [前端笔记]第一篇:html
  14. 在Ubuntu下的Apache上建立新的website,以及enable mono
  15. 你好,C++(18) 到底要不要买这个西瓜?4.1.6 操作符之间的优先顺序
  16. poj 1037 A decorative fence
  17. ArcGIS添加鹰眼
  18. 中国内地、台湾、香港、澳门和国外DNS服务器地址列表
  19. PHP简单分页类
  20. 新书发布《每天5分钟玩转Docker容器技术》

热门文章

  1. 电脑连接了HDMI线,电脑没有声音了,原因和解决办法
  2. IDEA--安装
  3. 读书笔记 - js高级程序设计 - 第三章 基本概念
  4. 洛谷 P5661 公交换乘(队列)
  5. CTF -攻防世界-crypto新手区(1~4)
  6. 吴裕雄--天生自然MySQL学习笔记:MySQL 事务
  7. IO流处理文件读取到字节数组,再从字节数组读取到文件,Java实现
  8. Django框架(十一):模板介绍、模板语言、模板继承、HTML转义
  9. 禁止网站F12和查看源码
  10. SQL的技巧