2010-08-12 3 views
0

Je veux faire un do pour boucle comme (pour int x = 0; x < 3; x ++) dans un modèle django. Comment dois-je le faire? Pseudo code se présente comme suit:Faire une boucle for à l'intérieur d'un modèle

{% for Summary in Summary_list %} 
     {% ifchanged Summary.bu_id %} 
      </tr> 
      <tr> 
      <td>{{Summary.bu.version}}</td> 
      {% if Summary.platform_id != 1 %} 
       {% for x less than Summary.platform_id %} 
         <td><center>-</center></td> 
         {% x++ %} 

{# Comment dois-je faire partie? #}

  <td> <center>{{Summary.successCount}}</center></td> 
     {% else %} 
      <td><center> {{Summary.successCount}}</center></td> 
     {% endifchanged %} 
    {% endfor %} 

Merci beaucoup!

+1

répétition possible de: http://stackoverflow.com/questions/1107737/numeric- for-loop-in-django-templates – sberry

Répondre

0

Utilisez le filtre de plage de modèles dans ce snippet. (Pour des informations sur l'utilisation de filtres personnalisés consulter le documentation.)

alors vous devriez être en mesure de faire quelque chose comme:

{% for x in Summary.platform_id|get_range %} 

... 

{% endfor %} 
+0

Merci beaucoup! J'ai une autre question. Je dois déclarer une variable pour stocker un nombre extrait du modèle. Je sais que je ne peux pas déclarer une variable dans le modèle mais dans la vue. Comment dois-je le déclarer dans les vues? Et comment puis-je mettre à jour la valeur lorsque {% for Summary in Summary_list%} mises à jour ?? Merci! – Jimmy

+0

Il n'y a pas de bonne façon de faire cela, puisque la logique est pour les vues et les modèles sont seulement pour la présentation. Il semble cependant que toute information disponible pour un modèle est disponible pour une vue. Par exemple, vous avez accès à Summary_list dans la vue. Vous devriez donc être capable de faire ce dont vous avez besoin sans récupérer un paramètre du modèle. – ars

Questions connexes