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

shi*_*eck 5 django html5 head template-inheritance

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

我想知道,我应该在我的base.html和我的继承模板中设置{%block head%},或者我应该设置特定的块,例如{%block meta%}和{%block标题%}以便当Django呈现为html时,标记出现在适当的位置.

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

Rei*_*ees 5

我通常有三个街区.这三个人在过去的一年中涵盖了我和我同事的所有需求:-)

  • 用于css的块.

  • 一个javascript块.

  • 一个名为"head-extras"的块.通常,您希望在逐页的基础上执行一些特殊操作,例如添加指向RSS订阅源的链接元素.或者一些内联的JavaScript代码段.使用此块,您可以清楚地允许这些角落情况.

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

对于那些你想要覆盖头脑中的所有内容的少数情况,我也有一个整体的头部块:-)