我要代表集合中的模板,敷在Django的模板{%用於%}標籤附加李每4個元素
<li></li>
,每四個元素的模板應該是這樣的:
<ul>
<li>
<a></a>
<a></a>
<a></a>
<a></a>
</li>
<li>
<a></a>
<a></a>
<a></a>
<a></a>
</li>
<li>
<a></a>
<a></a>
<a></a>
<a></a>
</li>
</ul>
所以我需要做的是在{%用於%}
{% for obj in objects %}
{#add at 1th and every 4th element li wrap somehow#}
<a>{{object}}</a>
{# the same closing tag li#}
{% endfor %}
當條件滿足時,我真的不喜歡注入閉合標籤的程序方式。請參閱http://stackoverflow.com/a/11965885/636626的響應,以獲得更具可讀性和可重用性的解決方案。 – 2016-03-02 11:47:17
@NilsWerner:取決於解決方案是否適用於用例。如果Hedde的解決方案要求您修改大量現有的代碼和/或基礎架構,那麼與處理生成器對象相比,仍然可以採用處理平面列表的「更簡單的路線」更爲可行。此外,清單分組數量的責任已轉移給主叫方。這是否是所需的方式取決於用例。話雖如此,我同意爭取更清潔的模板和可重複使用的解決方案是可取的。 – Manuzor 2016-03-13 16:04:18