2009-04-02 6 views
4

Le problème que je me bats avec est la suivante:« pour » boucle à travers les champs de formulaire et à l'exclusion d'un des champs avec « si »

Je:

{% for field in form %} 
    {{ field }} 
{% end for %} 

Ce que je veux, c'est mettre une instruction 'if' pour exclure un champ qui .label ou quoi que ce soit est fourni. Comme:

{% for field in form%} 
    {% if field == title %} 
    {% else %} 
     {{ field }} 
    {% endif %} 
{% endfor %} 

Est-ce possible? J'ai de nombreux champs pour les écrire un par un et un ou deux à exclure.

Nous vous remercions de vos conseils.

BR, Czlowiekwidmo.

Répondre

9

Oui, cela devrait être possible:

{% for field in form %} 
    {% ifnotequal field.label title %} 
     {{ field }} 
    {% endifnotequal %} 
{% endfor %} 

Django template tags offre ifequal et ifnotequal variantes, et vous pouvez tester la field.label contre soit une variable de contexte, ou une chaîne.

+1

Non qui a été dépréciée, si simple {% si field.name == 'title' %} fonctionnera. Aussi comparer l'étiquette est mauvais car il pourrait changer dans la traduction. – dalore

Questions connexes