当前位置: 首页 > news >正文

Django 实现子模版继承父模板

背景

Django的占位符,如果不继承父模板的内容,会被子模版所覆盖,有些业务场景子模版也需要使用到父模板中的内容

可以使用Django自带的标签{% block super %}来实现此效果

base.html

最基础html,相当于第一层html,block js 进行占位

<!DOCTYPE html>
<html lang="en">
<head><!-- head content -->
</head>
<body><!-- body content -->{% block js %}<!-- base js content --><script src="base.js"></script>{% endblock %}
</body>
</html>

middle.html

中间html,相当于第二层html,在block js 中继承了base.html的内容

{% extends "base.html" %}{% block js %}{{ block.super }}<!-- middle js content --><script src="middle.js"></script>
{% endblock %}

child.html

孩子html,相当于第三层html,在block js 中继承了middle.html的内容

{% extends "middle.html" %}{% block js %}{{ block.super }}<!-- child js content --><script src="child.js"></script>
{% endblock %}

最终渲染的效果

最终能够包含所有被继承中所引入的js文件,而不是被最后一个覆盖

<!DOCTYPE html>
<html lang="en">
<head><!-- head content -->
</head>
<body><!-- body content --><!-- base js content --><script src="base.js"></script><!-- middle js content --><script src="middle.js"></script><!-- child js content --><script src="child.js"></script>
</body>
</html>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 无损音频格式 FLAC 转 MP3 音频图文教程
  • 2024.7.7刷题记录
  • 选择排序(C语言版)
  • 【AI应用探讨】—逻辑回归应用场景
  • Java内存区域与内存溢出异常(补充)
  • 01 企业网站架构部署与优化之Apache配置与应用
  • Apache Hadoop文件上传、下载、分布式计算案例初体验
  • 【深度学习(42)】通过vscode使用anaconda的python环境
  • MMCV教程及安装问题解决
  • 六、golang基础之面向对象特征
  • element的下拉框封装
  • Nacos服务注册总流程(源码分析)
  • Elasticsearch:结合稀疏、密集和地理字段
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • Java中的锁都有什么
  • ES6指北【2】—— 箭头函数
  • [NodeJS] 关于Buffer
  • Apache Spark Streaming 使用实例
  • Electron入门介绍
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Java,console输出实时的转向GUI textbox
  • java2019面试题北京
  • leetcode讲解--894. All Possible Full Binary Trees
  • MaxCompute访问TableStore(OTS) 数据
  • node入门
  • PHP 7 修改了什么呢 -- 2
  • Promise初体验
  • React as a UI Runtime(五、列表)
  • storm drpc实例
  • 阿里研究院入选中国企业智库系统影响力榜
  • 从重复到重用
  • 构造函数(constructor)与原型链(prototype)关系
  • 聊聊hikari连接池的leakDetectionThreshold
  • 你不可错过的前端面试题(一)
  • 使用 @font-face
  • 使用Swoole加速Laravel(正式环境中)
  • 网络应用优化——时延与带宽
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 阿里云ACE认证学习知识点梳理
  • # dbt source dbt source freshness命令详解
  • # Redis 入门到精通(一)数据类型(4)
  • #控制台大学课堂点名问题_课堂随机点名
  • (02)vite环境变量配置
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (LeetCode 49)Anagrams
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (翻译)terry crowley: 写给程序员
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)mysql使用Navicat 导出和导入数据库
  • ***详解账号泄露:全球约1亿用户已泄露