2011-03-02 3 views
0

forloop.counter 객체를 다시 0으로 재설정 할 수 있습니까?django 템플릿 forloop 재설정 가능합니까?

개체를 침을 튀기는 데 사용하고 있지만 개체 유형이 변경되면 5 개체로 계산하여 다섯 번째 개체로 행 개체의 끝 (오른쪽 패딩 없음)을 출력 할 수 있도록 0으로 만들고 싶습니다. 그 유형의 다섯 번째 객체 만 있습니다.

5 개의 객체가있는 경우 처음 두 개는 유형 a이고 다음 3 개는 유형 b이고 다섯 번째 객체는 항상 더 작은 패딩을 얻습니다. 단 3 번째 줄만 신경 써야합니다. 당신은 유형에 따라 regrouping 객체를, 그리고 내부 루프에 패딩을 수행해야처럼

{% for project in projects %} 
    {% ifchanged project.proj_type %} 
     {% forloop.counter=="1" %} 
     </div> 
     <div class="span-4 prepend-top"> 
      <h5 class="right" >{{ project.proj_type }}</h5> 
     </div> 

     <div class="span-19 append-1 last" id="row-of-projects"> 
    {% endifchanged %} 

    {% if forloop.counter|divisibleby:"4" %}      
     <div class="span-4 append-1 prepend-top last" id="project"> 
    {% else %} 
     <div class="span-4 append-1 prepend-top" id="project"> 
    {% endif %} 
     <p class="project-name">{{ project.name }}</p>      
     <a href="/gallery/{{ project.slug }}/" ><img src="/media/pa/photographs/{{ project.get_photograph }}-t.jpg" alt="{{ project.name }}" /></a> 
     </div id="project"> 
{% endfor %} 
+0

은 forloo.counter == 1을 거기에 추가해야합니다. 작동하지 않습니다! – bytejunkie

답변

1

내가 필요한 것을 이해하고 있는지 잘 모르겠습니다.

regroup 태그를 사용하여 유형에 따라 개체를 표시 할 수 있습니다.

그리고 class="{% cycle 'normal' 'normal' 'normal' 'normal' 'special' %}"을 사용하면 다섯 번째 요소마다 다르게 스타일을 지정할 수 있습니다.

+0

도 내 문제를 해결할 것입니다. 그것을 지적 해 주셔서 감사합니다. 나는 공식 문서에서 그것에 대해 읽었지만 couldnt는 그것이 어떻게 도움이되는지 이해한다. 당신의 빠른 예가 완벽했습니다. – bytejunkie

2

그것은 소리 :

여기 내 템플릿 코드입니다.

+0

thats mustard, thanks mate. 감사합니다. – bytejunkie