我的基本模板头部有一个块,可以渲染"额外的" CSS。此CSS将根据来自Wagtail CMS实例的字段进行自定义。
所以,在base.html
模板中我有:
<head>
{% block extra_css %}{% endblock %}
</head>
<body>
{% block content %}{% endblock %}
</body>
然后,在我的detail.html
模板中,它延伸到基地之外,我有:
{% block content %}
{% for block in page.body %}
{{ block }}
{% endfor %}
{% endblock %}
body
是Wagtail中的StreamField
。其中一个字段是自定义StructBlock
,其模型设置如下:
class CalloutBlock(blocks.StructBlock):
accent_color = blocks.CharBlock(required=False, label='Accent Color', help_text='HEX Value/Color')
class Meta:
template = 'inc/blocks/callout.inc.tpl'
最后,在callout.inc.tpl
模板中,我试图呈现一个<style>
标记 应该<{1}}块注入
extra_css
但是,我预期会将此块注入{% block extra_css %}
<style>
.accent_color {
background-color: {{accent_color}} !important;
}
</style>
{% endblock %}
。相反,它会在身体中呈现,就好像<head>
标签根本不存在一样:
{% block extra_css %}
只是Django模板的限制吗?嵌套问题?或者是因为我在模型级别使用自定义模板,并且在某种程度上超出了父模板解析的范围?
Django:1.10
W :: 1.6