2013-12-18 94 views
1

我試圖獲得這些循環進入變量的次數。 (我知道它們現在是靜態的,但最終它們將基於來自其他地方的數據)。Django 1.5.4 Python計數循環

我知道如何在其他語言中做到這一點,但不能爲我的生活弄清楚如何在Python/Django中做到這一點。

在PHP我在循環使用i++,只是顯示的i

終值Django的1.5.4 的Python 2.7

View 

def channel(request): 
    values = [] 
    values2 = [] 
    for i in range(1,11): 
    values.append(i) 
    for i2 in range(1,6): 
    values2.append(i2) 

Template 

{% for value in values %} 
<insert random html here> 
    {{ count_of_loop }} 
    {% for value2 in values2 %} 
    {{ count_of_loop2 }} 
    <insert random html here> 
    {% endfor %} 
{% endfor %} 

回答

2

如果要在模板中使用Counter

{{ forloop.counter }} 

A實施例:

{% for value in values %} 
{% if forloop.counter == 1 %} 
    Do something. 
{% endif %} 
{% endfor %} 
+1

這實際上適用於我所需要的。我只是不得不重新思考我如何接近HTML。謝謝。我的「做點什麼」。是'{{forloop.revcounter}}'來顯示計數器在第一次運行時的最大運行時間。 – Andrew

1

您可以在模板中使用
{{forloop.counter}}當前迭代的循環(1索引)

{{forloop.counter0}}循環的當前迭代(0索引)

或者如果你想設置範圍內的模板使用|例如:

def channel(request): 
    range1 = 11 
    range2 = 6 


{% for i in 0|range1 %} 
    {{ forloop.counter }} 
     {% for y in 0|range2 %} 
     {{ forloop.counter }} 
     {% endfor %} 
{% endfor %} 
+0

但我不使用I ++(或當量)的循環。我正在導入一個範圍並從視圖中執行for循環。我想我要找的是如何定義'value.count'? – Andrew

+0

@AndrewWilson我發佈了一個更簡單的方式來得到你想要的。 – levi