Comment casser “boucle” dans Django template
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 %}
J'ai envie de casser la boucle après la première itération. pause n'est pas de travail
- Pourquoi utiliser une boucle si vous souhaitez arrêter après la première itération? Utilisation
{% with account=object_list|first %} ... {% endwith %}
- merci , je ne savait pas que
- Voir aussi stackoverflow.com/questions/10397470/...
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas de
break
dans Django système de template. Système de template de Django n'est pas programmé avec python mais avec sa propre langue.En fonction de ce que vous devez faire, vous pourriez trouver cette question utile. Sinon, il suffit de mettre le seul et unique compte vous essayez d'imprimer sur HTML sur un champ spécial sur votre
RequestContext
.Je pense que vous devriez utiliser de la tranche d'atteindre votre objectif
Vous ne pouvez pas utiliser l'instruction break, mais vous pouvez choisir de ne pas imprimer sur du html. Ce n'est pas une meilleure solution, mais vous pouvez l'utiliser. J'utilise la suivante;
Son bref semblent de ce genre sur le navigateur.
http://i.stack.imgur.com/MPbR3.jpg
J'ai trouvé un moyen de le faire avec une condition. C'est moche et hacky, mais ça marche (pour moi).
first
est ce que l'OP voulait, mais cela répond à la question de plus près.Donné ceci:
Je voulais savoir si mon obj a des enfants avec des biens qui sont des jouets.
Voici ce que j'ai fait:
Python Équivalent:
Django Template:
Mon approche a été d'utiliser
regrouper
de construire des ensembles de candidats qui ont fait ou n'ont pas correspondre aux critères:regroup
construit un nouvel objet qui est essentiellement:La
length_is:"0"
permet de s'assurer que nous avons tout au plus trois éléments dans la liste et legrouper
est soitTrue
ouFalse
ou''
. Puis on itère sur la liste et recherchez unFalse
valeur.if
ne serait jamais toucher.False
grouper
.False
grouper
.False
etTrue
grouper
s.Vous pouvez utiliser votre système de template de Django pour la boucle en javascript pour boucle boucle intérieure et peut utiliser briser comme suit :-
Dans ce cas, vous pouvez vérifier si forloop.compteur == 1 ou si forloop.d'abord et tout simplement l'impression que le premier élément.