Django:嵌套自定义模板标签
我在Django里写了两个自定义模板标签。我的目标是把一个自定义标签放在另一个标签里面使用。这这样做可以吗?
自定义“外部”标签的模板看起来是这样的:
<ul>
{% for type in types %}
{% custom_internal_tag param1 %}
{% endfor %}
</ul>
渲染后结果是:
无效的块标签:'custom_internal_tag',期待的是'empty'或'endfor'
可以嵌套自定义标签吗?出现这种错误的原因是什么呢?
1 个回答
9
这些自定义标签是绝对可以使用的,但如果出现错误,可能是因为你的自定义标签没有正确定义、放置或者加载。
确保你所有的自定义标签都放在 app/templatetags
这个文件夹里,并且正确加载,通常是通过使用 @register
装饰器来实现的。
参考链接: https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#registering-custom-filters