首页 > 解决方案 > 使用 base.html 文件,但修改的不仅仅是正文

问题描述

首先,我的代码没有问题。这个问题更像是“这可能吗?如果是/不是,正确的做法是什么?”

我有一个网站,每个页面都有相同的外观,它们之间的区别如下:

我想知道的是,是否可以在知道上述限制的情况下为这些页面使用 base.html 模板,如果可以,我将如何修改所述页面来做到这一点。

正如我所说,这里的代码并不是真正的问题,但为了清楚起见并让您能够看到从一个页面到另一个页面的变化,这里是该项目的 Github 存储库。(该项目是一个大学项目,因此部分代码是法语,因为我的大学是法国大学)

https://github.com/MaxMichel2/PWEB

不要犹豫,告诉我是否需要一些澄清来理解我的问题。

编辑

我在网上看到和阅读的所有 Django 教程都只解释/谈论标签{% block content %}中的分隔符,<body>但我没有找到任何关于该部分中不同部分的帮助<head>

是否只是使用不同的{% block content %}分隔符来标识 base.html 文件中将添加/修改部分的情况?

如果是这样,如果有可能有一个基本的例子来看看我正在努力什么?

标签: htmldjangodjango-templates

解决方案


{% include template %}一个与基本扩展相反的东西,而不是有一个基本模板并扩展它,包含允许您将小的可重用代码部分添加到您的模板中,如

{% extends 'base.html' %}
{% block content %}
    <some unique html to the current page>
    {% include 'some_common_html' %}      <---- right here this part doesnt have to be in base.html
    this means that you can include this part anywhere in your templates, without having it inside the base 
{% endblock %}

推荐阅读