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 定义可重写的内容区域。通过这种方式,你可以有效地管理和重用模板结构。
相关推荐
平生幻1 小时前
unbuntu虚拟机确认python安装位置
开发语言·python
jason.zeng@15022071 小时前
(七)「固化 Rest 接口 + Text-to-SQL 灵活查询」双模式 Agent 架构教程
数据库·python·sql·ai·架构·langchain·ai编程
YEGE学AI算法2 小时前
KWS语音唤醒系统完整链路:音频前处理、Fbank、阈值与冷却逻辑
python·音视频·语音唤醒·kws·fbank
kida_yuan2 小时前
不想花钱写了一个 Flask 知识库(续)
python
云樱梦海2 小时前
5 分钟上手 IndexTTS 2.5 便携包:不用装 Python、不挑显卡、本地离线跑语音克隆
开发语言·python·tts·indextts2.5
Java小白笔记2 小时前
Java 函数式接口1:从无参任务到自定义多参数查询
java·windows·python
IT_Octopus2 小时前
【零基础入门 LLM 开发 · Day 10】:LangChain 入门——一条管道符串起 prompt 和模型
python·langchain·prompt
zaemyn20202 小时前
macOS 上 AccessClient 无法唤起?排查 Python 架构与 Windows App 识别问题
windows·python·macos·远程桌面·accessclient
*wait for?3 小时前
利用uv安装python包,并运行jupyter
python·jupyter·uv