Python Django Template: Itérer Sur La Liste
Techniquement, il devrait effectuer une itération de 0 à rangeLength sortir le nom d'utilisateur de la c[i][0].from_user...mais en regardant exemple en ligne, ils semblent remplacer les crochets avec la notation point. J'ai le code suivant:
<div id="right_pod">
{%for i in rangeLength%}
<div class="user_pod" >
{{c.i.0.from_user}}
</div>
{% endfor %}
À l'heure actuelle, les sorties de rien du tout 🙁 Si je remplace le "je", 0...{{c.0.0.from_user}}...il va sortir quelque chose.. (le premier utilisateur 10 fois)
Veuillez fournir la structure de
c
. Sinon, c'est difficile à interpréter.
OriginalL'auteur TimLeung | 2009-04-24
Vous devez vous connecter pour publier un commentaire.
Avez-vous besoin d'
i
être un indice? Si non, voir si le code suivant est-ce que vous êtes après:Oui, vous devriez le faire.
+1 pour le faire dans la couche contrôleur; le point de vue ne doivent pas contenir d'affaires de la logique comme ça.
-1 pour forcément est le contrôleur. Supposons que vous avez besoin de la liste complète dans d'autres parties de la page. C'est une perte de temps de passer à la liste complète et la liste tronquée. Dans de tels cas, vous devez juste passer à la liste complète et l'utilisation de la tranche filtre suggéré par @sotangochips.
OriginalL'auteur Chris Doble
Veuillez lire l'intégralité de l' la documentation sur le modèle de la langue pour les boucles. Tout d'abord, cette itération (comme en Python) est au-dessus des objets, pas d'index. Deuxièmement, au sein d'une boucle for, il est un forloop variable avec deux domaines qui vous intéressent:
OriginalL'auteur
Vous devez utiliser la tranche modèle de filtre à atteindre ce que vous voulez:
Itérer sur l'objet (c dans ce cas) comme suit:
Ce serait de s'assurer que vous ne itérer sur les 30 premiers objets.
Aussi, vous pouvez utiliser le forloop.objet compteur afin de garder une trace de la boucle d'itération, vous êtes sur.
OriginalL'auteur