Je veux utiliser quatre règles compliquées dans l'instruction IF du modèle Django! → Utilisez un modèle personnalisé

Objectif

Pour Django, utilisez ** des balises et des filtres intégrés ** si vous souhaitez un traitement dynamique lors de l'utilisation de fichiers modèles. Par exemple, les instructions IF et For, ainsi que les extensions et les blocs. Voir ci-dessous pour plus de détails.

Référence: Balises et filtres intégrés

Ce que je veux faire cette fois, c'est le calcul du reste ** dans la balise ** if du modèle. Voici un exemple de code.

        {% for user in users%}
            {%si quand le reste est 1%}
                <div class="columns is-mobile">
            {% endif %}
            <div class="column">
                <div>
                    ~réduction~
                </div>
            </div>
            {%si quand le reste est 0%}
                </div>
            {% endif %}
        {% endfor %}

Il existe une balise déjà fournie qui renvoie True si elle est divisible comme ** divisible par **, mais lorsque le reste est 1, ce processus, lorsque le reste est 2, ce processus ... Ne peux pas.

Dans un tel cas, vous pouvez le résoudre en préparant un ** modèle client **.

Comment créer un modèle personnalisé

Commencez par créer les répertoires et fichiers suivants sous le projet.

project/
 ├ templatetags/
           └ tags.py

Et ajoutez ce qui suit au fichier INSTALLED_APPS` `` du fichier `` `settings.py

settings.py


INSTALLED_APPS = [
    'project',
]

Modifiez tags.py comme suit

settings.py


from django import template

register = template.Library()

@register.filter
def modulo(num, val):
    return num % val

Enfin, chargez la balise avec le modèle que vous souhaitez utiliser le modèle personnalisé. {% load templates%} est important.

{% load tags %}

~réduction~

        {% for user in users%}
            {% if forloop.counter|modulo:3 == 1 %}
                <div class="columns is-mobile">
            {% endif %}
            <div class="column">
                <div>
                    ~réduction~
                </div>
            </div>
            {% if forloop.counter|divisibleby:"3" %}
                </div>
            {% endif %}
        {% endfor %}

Bonne vie à Django, tout le monde!

Recommended Posts

Je veux utiliser quatre règles compliquées dans l'instruction IF du modèle Django! → Utilisez un modèle personnalisé
Je souhaite trier une liste dans l'ordre des autres listes
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
Si vous souhaitez afficher la valeur à l'aide des choix du modèle dans le modèle Django
Comment compter le nombre d'éléments dans Django et sortir dans le modèle
Je souhaite définir un cycle de vie dans la définition de tâche d'ECS
Je souhaite voir une liste de fichiers WebDAV dans le module Requêtes
Je veux utiliser le jeu de données R avec python
Je souhaite utiliser uniquement le traitement de normalisation SudachiPy
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Je veux connaître la population de chaque pays du monde.
[Django] Que faire quand il y a de nombreux champs dans le modèle que vous souhaitez créer
[Django] Expliquez soigneusement la voie d'échappement si vous voulez vraiment utiliser la table d'une autre application
Je veux imprimer dans la notation d'inclusion
Si vous voulez un singleton en python, considérez le module comme un singleton
Je veux convertir par lots le résultat de "chaîne de caractères" .split () en Python
Je veux expliquer en détail la classe abstraite (ABCmeta) de Python
Je veux colorer une partie de la chaîne Excel avec Python
Je veux prédire le succès des joueurs NBA utilisant le SDK Qore
Je souhaite laisser une commande arbitraire dans l'historique des commandes de Shell
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
J'ai essayé d'afficher la valeur d'altitude du DTM dans un graphique
Python: je souhaite mesurer proprement le temps de traitement d'une fonction
Notez que vous souhaitez décorer manuellement les paramètres passés dans le formulaire du modèle Django élément par élément
Si vous souhaitez changer d'utilisateur d'exécution au milieu d'une tâche Fabric, le gestionnaire de contexte des paramètres
Django super introduction par les débutants Python! Partie 2 J'ai essayé d'utiliser les fonctions pratiques du modèle
Je souhaite créer une API qui retourne un modèle avec une relation récursive dans Django REST Framework
Je veux corriger Datetime.now dans le test de Django
L'histoire de l'adresse IPv6 que je souhaite conserver au minimum
J'ai créé un script pour vérifier si l'anglais est entré dans la position spécifiée du fichier JSON en Python.
Je veux créer une fenêtre avec Python
Notez la solution car django n'a pas pu s'installer avec pip
J'ai créé une commande appdo pour exécuter des commandes dans le contexte de l'application
Je veux utiliser PyTorch pour générer quelque chose comme les paroles de Japari Park
Je veux ajouter du silence pendant 1 seconde au début d'un fichier wav
Je souhaite stocker les résultats de% time, %% time, etc. dans un objet (variable)
Je pensais qu'il serait lent d'utiliser l'instruction for dans NumPy, mais ce n'était pas le cas.
Je souhaite personnaliser l'apparence de zabbix
Je souhaite utiliser la fonction d'activation Mish
Je veux afficher la progression en Python!
Je souhaite télécharger une application Django sur heroku
[Python] Je souhaite utiliser uniquement l'index lors de la mise en boucle d'une liste avec une instruction for
Je souhaite utiliser une source de données python dans Re: Dash pour obtenir les résultats de la requête.
Je souhaite prendre une capture d'écran du site sur Docker en utilisant n'importe quelle police
Je veux remplacer les variables dans le fichier de modèle python et le produire en masse dans un autre fichier
Je souhaite créer une base de données de déjeuners [EP1] Django pour la première fois
Je souhaite créer une base de données de déjeuner [EP1-4] Django pour la première fois
Comment vérifier en Python si l'un des éléments d'une liste est dans une autre liste
Je souhaite également utiliser les commandes Linux à l'invite de commande! Utilisez les commandes Linux à l'invite de commande au lieu de Git Bash
Je souhaite intégrer une variable dans une chaîne Python
Je veux faire la transition avec un bouton sur le ballon
Je veux grep le résultat de l'exécution de strace
Je veux faire défiler la table de décalage Django, mais ...
Je veux écrire en Python! (2) Écrivons un test
Je veux échantillonner au hasard un fichier avec Python
Je veux bien comprendre les bases de Bokeh
Je veux écrire en Python! (3) Utiliser des simulacres
Pratique pour utiliser les sous-graphiques matplotlib dans l'instruction for
Lorsque vous voulez plt.save dans l'instruction for
Je souhaite augmenter la sécurité de la connexion SSH