46 votes

Comment casser "for loop" dans le modèle Django

j'ai ce code

     {% for account in object_list %}
        <tr>
        {% for field, value in book.get_fields %}
              <th>{{ field.verbose_name }}</th> 
        {% endfor %}
        </tr>
    {{ break }}
    {% endfor %}

Je veux casser la boucle for après la première itération. la pause ne fonctionne pas

119voto

Turikumwe Points 401

Je pense que vous devriez utiliser slice pour atteindre votre objectif

 {% for account in object_list|slice:":1" %}

6voto

Brkyrn Points 189

Vous ne pouvez pas utiliser l'instruction break mais vous pouvez choisir de ne pas les imprimer en html. Ce n'est pas la meilleure solution mais vous pouvez l'utiliser. J'utilise le suivant ;

 {%for tumbnail in image %}
         {%if tumbnail.object_id == element.id %}
          <img src="/media/{{ tumbnail.image }}" class="tr_all_hover"alt="">

{{ "<!--" }}
  {%endif%} 
{%endfor%}     
{{ "-->" }}

Cela ressemble fondamentalement à ceci sur le navigateur. http://i.stack.imgur.com/MPbR3.jpg

3voto

Rohit Shekhar Points 75

Vous pouvez utiliser votre système de modèles Django pour la boucle en javascript pour la boucle comme boucle interne et pouvez utiliser break comme suit :-

 for(var i=0;i<1;i++){
        {% for owner in Owner %}
            id  = "{{owner.id}}";
            if(id == pk1){
                f="{{owner.flat}}";
                break;
            }             
        {% endfor %}
     }

3voto

     {% for i in list %}
      {% if forloop.counter < 11 %}                                     
        <tr>
          <td>{{ forloop.counter }}</td>
          <td>{{ i.product__name }}</td>
          <td>{{ i.brand__name }}</td>
          <td>{{ i.country__name}}</td> 
          <td>{{ i.city__name}}</td>  
                     
        </tr>
      {% endif %} 
             
      {% endfor %}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X