2016-12-08 47 views
0

我有一個列表['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']在Django中切片

在我的Django模板,我想輸出作爲

a b 
c d 
e f 
g h 

這是我在做什麼: -

{% for i in list|slice:"::2" %} 
    {{i}} {{}} // how do I get the second element? 
{% endfor %} 

我缺少什麼?

以下是蟒蛇相當於: -

for i in range(0, len(list), 2): 
    print list[i], list[i+1] 

回答

3

我不知道你的「第二要素」的意思。切一個這樣的列表將給你['a', 'c', 'e', 'g'],並且i將依次爲每個。

我懷疑你根本不想這樣做;您可能需要遍歷整個列表並使用{% if forloop.counter|divisibleby:2 %}來確定何時插入新段落或中斷標記。

+0

丹尼爾嗨,請看看更新的問題(蟒蛇當量)。 – PythonEnthusiast

+0

這完全不等價。 「相當於Python」將會是「for I in lst [:: 2]'」。 –

+0

我的錯誤。是的,因爲我[1] [1]會更加貼切。如何在django模板中打印'i'th和'i + 1'索引。 – PythonEnthusiast

1

除了以前的答案。您也可以使用cycle tag

{% for el in my_list %} 
    {{ el }} 
    {% cycle ' ' '<br>' %} 
{% endfor %} 

會給你所需的輸出:

a b 
c d 
e f 
g h