Lors de l'utilisation d'une combinaison de Bootstrap.css et du moteur de template de Django
{% if param.status == 1 %}
<!--Donnez le nom de la classe active pour certaines conditions-->
<li class="active">
{% else %}
<li>
{% endif %}
<a href="#">Active</a>
</li>
……
Il y a des moments où vous devez écrire comme ça. Les retraits deviennent confus et Il est difficile de voir combien de lignes sont dépensées pour autant de traitement.
J'ai donc essayé de savoir comment l'écrire brièvement. J'ai trouvé un filtre intégré appelé "yesno". https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#yesno
Ce filtre prend une chaîne séparée par des virgules comme argument. Si la valeur peut être interprétée comme True, du début de l'argument à la virgule, Si la valeur peut être interprétée comme False, la première à la deuxième virgule, Et si la valeur est None, il reviendra à partir de la deuxième virgule. (Aucun n'est facultatif)
{{ value|yesno "Oui,Non,Aucun" }}
étant donné que, Lorsque la valeur est True (exemple: "1", "hoge", etc. sont OK), "Yes", Lorsque la valeur est False (exemple: "0" "" "]), c'est" Non ".
Si vous réécrivez le modèle ci-dessus avec ce filtre intéressant
<!--Donnez le nom de la classe active pour certaines conditions-->
<li class="{{ param.status|yesno:'active,' }}">
<a href="#">Active</a>
</li>
Ce sera. Une ligne sera plus longue, mais que l'écriture précédente La structure du retrait est rafraîchissante et facile à voir, ce qui est un grand avantage.
Recommended Posts