Django 模板继承

Django 模板继承的语法主要涉及两个关键标签:{% extends %}{% block %}

语法详解

  1. {% extends %}

    • 用于指定当前模板继承自哪个父模板。
    • 语法:{% extends "父模板的路径" %}
    html 复制代码
    {% extends "base.html" %}
  2. {% block %}

    • 定义可以被子模板重写的区域。
    • 语法:{% block block_name %}内容{% endblock %}
    html 复制代码
    {% block content %}
    这里是内容
    {% endblock %}

示例

父模板
html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>{% block title %}默认标题{% endblock %}</title>
</head>
<body>
    <header>
        <h1>网站标题</h1>
    </header>
    
    <main>
        {% block content %}
        默认内容
        {% endblock %}
    </main>
    
    <footer>
        <p>版权信息</p>
    </footer>
</body>
</html>
子模板
html 复制代码
{% extends "base.html" %}

{% block title %}子页面标题{% endblock %}

{% block content %}
    <h2>这是子页面的内容</h2>
{% endblock %}

总结

  • 使用 extends 指定父模板。
  • 使用 block 定义可重写的内容区域。通过这种方式,你可以有效地管理和重用模板结构。
相关推荐
梅雅达编程笔记9 小时前
编程启蒙|Scratch 转 Python 系列第9天:字典/哈希表积木双向对照(AI大模型参数配置表实战)
开发语言·人工智能·python·numpy·pandas
zhz52149 小时前
GIS项目中空间参考转换与MBTiles偏移:问题成因、解法与避坑
python·vue·gis
KaMeidebaby10 小时前
卡梅德生物技术快报|如何制备单克隆抗体:小众禽类靶点单抗制备实操流程:双载体抗原交叉筛选完整工艺记录
人工智能·python·深度学习·算法·机器学习
乱写代码11 小时前
Pydantic学习--BaseModel
python
fu159357456811 小时前
【边缘计算实战】P1:从零搭建边云任务卸载仿真实验台(Python 可复现)
数据库·python·边缘计算
蜡台11 小时前
通过Gradle脚本声明更改Java变量
android·java·开发语言·python·kotlin·gradle·groovy
智能体与具身智能12 小时前
TVA 本质内涵与核心特征(系列)
人工智能·python·智能体视觉
云雾J视界12 小时前
SST:高频变压器设计实战:铁氧体 vs 纳米晶 vs 非晶,磁性材料怎么选
python·acdc·dab·sst
第一程序员13 小时前
Rust trait 入门:把 AI 客户端抽象成可替换接口
python·rust·github
Ulyanov13 小时前
Python实现6-DOF刚体仿真器(下)——环境扰动与控制闭环
开发语言·python·算法·系统仿真·雷达电子对抗·导引头