Django 的 CopyBlock 标签
Posted
技术标签:
【中文标题】Django 的 CopyBlock 标签【英文标题】:CopyBlock tag for Django 【发布时间】:2010-11-14 22:07:03 【问题描述】:如何为 Django 模板编写标签“copyblock”?
对于这样的功能:
<title> % block title % some title... % endblock % </title>
<h1>% copyblock title %</h1>
【问题讨论】:
【参考方案1】:看看这个问题中提到的解决方案:
How to repeat a "block" in a django template【讨论】:
【参考方案2】:Django 的模板解析器不按名称公开块。相反,它们在 Django Template
的 nodelist
中组织成一个树结构,在模板节点堆栈上呈现 push
ing 和 pop
ping。以示例所示的方式访问它们几乎是不可能的。
ars 引用的 SO 链接提供了有关最佳解决方案的建议。在这些解决方案中,在上下文中定义一个可以重用的变量(即: title
在您的示例精神中)可能是最直接和可维护的方法。如果您要复制的部分超出了一个简单的变量,custom template tag 可能是最吸引人的选项。
【讨论】:
+1:关注 title
并提供额外的上下文。自定义模板标签很少值得付出努力。以上是关于Django 的 CopyBlock 标签的主要内容,如果未能解决你的问题,请参考以下文章