[PYTHON] Ecrire brièvement if-else du template Django

Ecrire brièvement if-else du template Django

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

Ecrire brièvement if-else du template Django
Créer un filtre avec un modèle django
Django # 2 (modèle)
Créez un modèle pour votre planning Django
Commandes pour créer un nouveau projet django
Ecrire une courte définition de propriété en Python
(Pour moi) Django_1 (Basic / Hello World / Template)
Modèle HTML Django partie 2
Prise en charge de l'internationalisation avec Django 1.9
Créez un tableau de bord pour les appareils réseau avec Django!
Modèle HTML Django
Astuces pour les modèles Django
Comment écrire une instruction ShellScript Bash for
Affichons un template simple idéal pour le premier Django
Pratique de développement d'applications Web: Créez une page de création d'équipe avec Django! (Ecrire un modèle de base)
Écrire sur la création d'un environnement Python pour l'écriture de Qiita Qiita
Faire du modèle une chaîne sur le modèle HTML Django
Django + redis Publie une URL dédiée valable 1 heure
Construire un environnement Django pour Win10 (avec espace virtuel)
Organiser les fichiers de modèle Django
Créer un planning Django
Démarrer un projet Django
[Memo] Construire un environnement de développement pour Django + Nuxt.js avec Docker
Recommandation de django, wagtail ~ Pourquoi développer un site web avec python ~
[Django] Créez un modèle adapté au numéro de téléphone / code postal
Comment rédiger un test de traitement utilisant BigQuery
[Django] Une collection de scripts pratiques pour le développement
Créez une API d'intégration sociale pour les applications smartphone avec Django
[Python] Créer un écran pour le code d'état HTTP 403/404/500 avec Django