假设我有一个标题,价格,描述和图像字段的简单模型。我想要3个html输出/块,我可以为这个模型的每个对象重用。对于增加的复杂性,其中2个输出将合并为第3个。所以,这是模板中这3个输出的样子。
output_image
<span class="output_image"><img src="{{ object.image.url }}" alt="{{ object.title}}></span>
output_info
<ul class="output_info">
<li>{{ object.title }}</li>
<li>Price: {{ object.price }}</li>
<li>{{ object.description }}</li>
</ul>
output_all(包装前2个)
<div class="output_all">
<span class="output_image">...</span>
<ul class="output_info">...</ul>
</div>
我可能想在搜索页面上使用output_image,例如在列表和高级搜索上使用output_all。因此我只想写一次这个输出,并重用它。实现这一目标的最佳方法是什么?
最初我想将方法/属性添加到模型类,它将返回格式化的html。这很有效,在我的模板中,我可以打电话给{{ object.output_all }}
。输出像这样的html是不好的做法吗?
我也简要介绍了其他方法。包含标签似乎有效,但我只测试了一个完整的&#39; output_all case的版本(即没有&#39;嵌套&#39; output_all中的其他2个输出标签)。这是正确的方法,是否可以“嵌套”?标签?
答案 0 :(得分:0)
我会为此使用包含标签。在模板中保持它所属的表示逻辑。