7

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

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

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

4

1 回答 1

6

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

  • css 的一个块。

  • JavaScript 的一个块。

  • 一个叫做“head-extras”的块。通常,您希望逐页做一些特别的事情,例如添加指向您的 RSS 提要的链接元素。或者一些内联的 JavaScript 片段。使用此块,您可以清楚地允许这些极端情况。

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

对于您只想覆盖头部所有内容的少数情况,我也有整个事情的头块:-)

于 2011-12-13T23:05:37.273 回答