Python Django:嵌套的自定义模板标记
我已经在Django中编写了2个自定义模板标记。 目标是在另一个自定义标记中使用一个自定义标记。允许吗? 自定义“外部”标记的模板如下所示:Python Django:嵌套的自定义模板标记,python,django,templates,Python,Django,Templates,我已经在Django中编写了2个自定义模板标记。 目标是在另一个自定义标记中使用一个自定义标记。允许吗? 自定义“外部”标记的模板如下所示: <ul> {% for type in types %} {% custom_internal_tag param1 %} {% endfor %} </ul> {类型中的类型为%} {%custom_internal_tag param1%} {%endfor%} 渲染后会导致 无效的块标
<ul>
{% for type in types %}
{% custom_internal_tag param1 %}
{% endfor %}
</ul>
{类型中的类型为%}
{%custom_internal_tag param1%}
{%endfor%}
渲染后会导致
无效的块标记:“自定义\u内部\u标记”,应为“空”或“endfor”
是否允许嵌套自定义标记?出现这种错误的原因是什么?它们是绝对允许的,但由于自定义标记未正确定义、定位或加载,因此可能会出现这种错误 确保所有自定义标记都位于
app/templatetags
目录中,并且通常使用@register
装饰器正确加载
参考资料:事实上,我的外部标签模板没有包含{%load internal{U tag%}代码。在我的例子中-当一些自定义标签包含其他自定义标签时,比如说:
{%tag{U from_lib1%}{%tag{U from_lib2%}{%endtag}我必须首先加载lib2
,然后lib1
,也就是说,我必须更改{%load lib2 lib1%}
到{%load lib2%}{%load lib1%}
。否则将出现“无效块标记”错误。