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 定义可重写的内容区域。通过这种方式,你可以有效地管理和重用模板结构。
相关推荐
全栈练习生7 小时前
AI Agent 沙箱
python·ai
SEO_juper9 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
用户83562907805110 小时前
使用 Python 对 Excel 工作表进行排序
后端·python
for_ever_love__10 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
用户83562907805110 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python
weixin_4617694010 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
2601_9669496511 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
全栈弄潮儿11 小时前
Python实战第1期:Python环境搭建与第一个程序
python
心易行者11 小时前
Agent应用+API端点商业化进阶实战:从单体智能体到可付费调用的API全流程
运维·服务器·人工智能·python·apache
weixin1997010801611 小时前
《1688图片空间API踩坑:img.upload 与 album.* 的防盗链与CDN缓存问题》(附Python源码)
开发语言·python·缓存