django - <head> 内容的 Django 模板继承的正确方法

标签 django html head template-inheritance

我有一个 base.html 模板,其中包含用于字符集、google-site-verification、样式表、js 的全站标签……我还需要为页面特定的标题标签和元描述设置 block 。

我想知道,我应该在我的 base.html 和我在该 block 中继承的模板混合标签中设置一个 {% block head %} ,还是应该设置特定的 block ,例如 {% block meta %} 和{% block title %} 以便在 Django 呈现为 html 时标 checkout 现在适当的位置。

这有意义吗?如果我查看所有标签混合在一个 {%block head %} 中的源代码,事情有点乱,但如果我为每个标签添加特定 block ,它们是有序的,但使用更多代码......?

最佳答案

我通常有三个街区。在过去的 1.5 年里,这三个已经满足了我和我同事的所有需求:-)

  • css block 。

  • javascript block 。

  • 一个叫做“head-extras”的 block 。通常你想在逐页的基础上做一些特别的事情,比如添加一个指向你的 rss 提要的链接元素。或者一些内联 javascript 片段。使用此 block ,您可以清楚地允许这些极端情况。

在扩展基本模板的模板中,您可以在 css 和 javascript block 中使用 {{ super }} 来获取“父”列表并使用您自己的列表进行扩展。

对于那些你只想覆盖头部中的所有内容的少数情况,我也有一个围绕整个事情的头部 block :-)

关于django - <head> 内容的 Django 模板继承的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8497376/

相关文章:

django 计算查询中相同字段值的最有效方法

python - Django 按天分组用 0 填充缺失数据

javascript - 使用 jQuery 更改图像并查看图像加载情况

html - 如何允许用户使用 &lt;input&gt; 在 iOS 数字键盘中输入 "."?

list - 在 Prolog 中反转列表

python - TemplateDoesNotExist 错误(Python 3.6.1、Django 1.11.1、PyCharm)

javascript - AngularJS 在 django 中开始加载部分而不是在需要时加载?

javascript - 使用 javascript 从 HTML 转换为文本时出现问题

java - 具有不同类型头的双向链表

linked-list - 创建一个包含头节点和尾节点的链表