html - 使用 base.html 文件,但修改的不仅仅是正文
问题描述
首先,我的代码没有问题。这个问题更像是“这可能吗?如果是/不是,正确的做法是什么?”
我有一个网站,每个页面都有相同的外观,它们之间的区别如下:
- 主页有一个交互式传单地图(javascript)
- 每一页的标题都不一样
- 头标签中的元素从一页更改为另一页,但并非总是如此
- 背景图像没有改变
- 在 body 标记中,我有一个 div 标记,其中包含所有页面共有的页脚
我想知道的是,是否可以在知道上述限制的情况下为这些页面使用 base.html 模板,如果可以,我将如何修改所述页面来做到这一点。
正如我所说,这里的代码并不是真正的问题,但为了清楚起见并让您能够看到从一个页面到另一个页面的变化,这里是该项目的 Github 存储库。(该项目是一个大学项目,因此部分代码是法语,因为我的大学是法国大学)
https://github.com/MaxMichel2/PWEB
不要犹豫,告诉我是否需要一些澄清来理解我的问题。
编辑
我在网上看到和阅读的所有 Django 教程都只解释/谈论标签{% block content %}
中的分隔符,<body>
但我没有找到任何关于该部分中不同部分的帮助<head>
。
是否只是使用不同的{% block content %}
分隔符来标识 base.html 文件中将添加/修改部分的情况?
如果是这样,如果有可能有一个基本的例子来看看我正在努力什么?
解决方案
有{% 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 %}
推荐阅读
- flutter - 只允许没有空格的小写输入文本字段颤振
- javascript - Django Ajax 405(不允许的方法)CBV
- postgresql - Postgres 日期与 ISO 时间戳比较
- json - 将 CSV 文件转换为 JSON 并将其发送到 ActiveMQ 队列
- react-admin - React-Admin:如何制作
使用“list”强制使用“alwaysOn” - sql - Teradata SQL 帮助。需要帮助获取最近就业状态的开始日期和结束日期(黄色)。谢谢
- tensorflow - 什么是 redzone_checker?在 GPU 上分析我的 tensorflow 应用程序
- javascript - Selenium Python - 获取表格数据而不是 JavaScript 代码
- java - 我无法让我的 java 程序打印结果
- angular - 角度错误:div 上的“没有用于具有未指定名称属性的表单控件的值访问器”