我有一个 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/