2010-02-16 4 views
0

Comment puis-je faire ceci:IF dans le système de template Django

{% if thestring %} 

    {% if thestring.find("1") >= 0 %} 

    {% endif %} 

{% endif %} 

Je suppose que je dois construire un filtre de modèle? Ça marchera?

+0

Demandez-vous à propos de la comparaison '> ='? Veuillez mettre à jour votre question pour clarifier votre problème. –

+0

Oups, je vérifiais si le mot "1" apparaissait dans la chaîne. – TIMEX

+0

Veuillez mettre à jour la question. S'il vous plaît ne pas ajouter de commentaires. C'est votre question, s'il vous plaît, essayez de préciser aux autres à suivre. –

Répondre

3

Vous ne besoin de construire un filtre personnalisé, si l'on travaillerait - l'alternative de codage

{% if thestring %} 

    {% if "1" in thestring %} 

    {% endif %} 

{% endif %} 

serait aussi aller très bien.

+3

Les opérateurs relationnels et de confinement dans '{% if%}' sont uniquement dans la version de développement. –

+1

True - il est seulement prévu pour la version (en 1.2) en 3 semaines. –

3

Ce serait. Mais utilisez l'opérateur in au lieu de la méthode find().

Exemple:

{% if thestring|contains:"1" %} 
1

Je crois que vous constaterez que le système de template Django n'est pas conçu pour avoir une logique complexe en elle. Ce type de traitement devrait se produire à votre vue, puis être transmis au modèle.

Questions connexes