[PYTHON] Ich möchte komplizierte vier Regeln in der IF-Anweisung der Django-Vorlage verwenden! → Verwenden Sie eine benutzerdefinierte Vorlage

Zweck

Verwenden Sie für Django ** integrierte Tags und Filter **, wenn Sie bei der Verwendung von Vorlagendateien eine dynamische Verarbeitung wünschen. Zum Beispiel IF- und For-Anweisungen sowie Erweiterungen und Blöcke. Siehe unten für Details.

Referenz: Integrierte Tags und Filter

Was ich diesmal machen möchte, ist die Restberechnung ** im ** if-Tag in der Vorlage. Unten finden Sie einen Beispielcode.

        {% for user in users%}
            {%wenn wenn der Rest 1 ist%}
                <div class="columns is-mobile">
            {% endif %}
            <div class="column">
                <div>
                    ~Kürzung~
                </div>
            </div>
            {%wenn wenn der Rest 0 ist%}
                </div>
            {% endif %}
        {% endfor %}

Es gibt bereits ein Tag, das True zurückgibt, wenn es teilbar ist wie ** teilbar durch **, aber wenn der Rest 1 ist, dieser Prozess, wenn der Rest 2 ist, dieser Prozess ... Kann nicht.

In einem solchen Fall können Sie es lösen, indem Sie eine ** Kundenvorlage ** erstellen.

So erstellen Sie eine benutzerdefinierte Vorlage

Erstellen Sie zunächst die folgenden Verzeichnisse und Dateien unter dem Projekt.

project/
 ├ templatetags/
           └ tags.py

Und fügen Sie das folgende `INSTALLED_APPS in die Datei `` settings.py``` ein

settings.py


INSTALLED_APPS = [
    'project',
]

Bearbeiten Sie tags.py wie folgt

settings.py


from django import template

register = template.Library()

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

Laden Sie abschließend das Tag mit der Vorlage, für die Sie die benutzerdefinierte Vorlage verwenden möchten. {% load templates%} ist wichtig.

{% load tags %}

~Kürzung~

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

Habt alle ein schönes Django-Leben!

Recommended Posts

Ich möchte komplizierte vier Regeln in der IF-Anweisung der Django-Vorlage verwenden! → Verwenden Sie eine benutzerdefinierte Vorlage
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Wenn Sie den Wert mithilfe von Auswahlmöglichkeiten in der Vorlage im Django-Modell anzeigen möchten
So zählen Sie die Anzahl der Elemente in Django und geben sie in die Vorlage aus
Ich möchte einen Lebenszyklus in der Aufgabendefinition von ECS festlegen
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Ich möchte R-Datensatz mit Python verwenden
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
Ich möchte die Bevölkerung jedes Landes der Welt kennenlernen.
[Django] Was tun, wenn das zu erstellende Modell viele Felder enthält?
[Django] Erklären Sie den Fluchtweg sorgfältig, wenn Sie die Tabelle einer anderen Anwendung wirklich verwenden möchten
Ich möchte in der Einschlussnotation drucken
Wenn Sie einen Singleton in Python möchten, stellen Sie sich das Modul als Singleton vor
Ich möchte das Ergebnis von "Zeichenfolge" .split () in Python stapelweise konvertieren
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
Ich möchte den Erfolg von NBA-Spielern mit dem Qore SDK vorhersagen
Ich möchte einen beliebigen Befehl im Befehlsverlauf von Shell belassen
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Ich habe versucht, den Höhenwert von DTM in einem Diagramm anzuzeigen
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
Beachten Sie, dass Sie die im Django-Vorlagenformular übergebenen Parameter Element für Element manuell dekorieren möchten
Wenn Sie den Ausführungsbenutzer mitten in einer Fabric-Aufgabe wechseln möchten, stellen Sie den Kontextmanager ein
Django super Einführung von Python-Anfängern! Teil 2 Ich habe versucht, die praktischen Funktionen der Vorlage zu nutzen
Ich möchte eine API erstellen, die ein Modell mit einer rekursiven Beziehung im Django REST Framework zurückgibt
Ich möchte Datetime.now in Djangos Test reparieren
Die Geschichte der IPv6-Adresse, die ich auf ein Minimum beschränken möchte
Ich habe ein Skript erstellt, um zu überprüfen, ob an der angegebenen Position der JSON-Datei in Python Englisch eingegeben wird.
Ich möchte mit Python ein Fenster erstellen
Beachten Sie die Lösung, da Django nicht mit pip installiert werden konnte
Ich habe einen Appdo-Befehl erstellt, um Befehle im Kontext der App auszuführen
Ich möchte PyTorch verwenden, um so etwas wie den Text von Japari Park zu generieren
Ich möchte dem Anfang einer WAV-Datei 1 Sekunde lang Stille hinzufügen
Ich möchte die Ergebnisse von% time, %% time usw. in einem Objekt (Variable) speichern.
Ich dachte, es wäre langsam, die for-Anweisung in NumPy zu verwenden, aber das war nicht der Fall.
Ich möchte das Erscheinungsbild von zabbix anpassen
Ich möchte die Aktivierungsfunktion Mish verwenden
Ich möchte den Fortschritt in Python anzeigen!
Ich möchte eine Django-App auf Heroku hochladen
[Python] Ich möchte nur den Index verwenden, wenn ich eine Liste mit einer for-Anweisung schleife
Ich möchte eine Python-Datenquelle in Re: Dash verwenden, um Abfrageergebnisse zu erhalten
Ich möchte einen Screenshot der Site in Docker mit einer beliebigen Schriftart erstellen
Ich möchte die Variablen in der Python-Vorlagendatei ersetzen und in einer anderen Datei in Massenproduktion herstellen
Ich möchte zum ersten Mal eine Django-Studie zur Mittagsdatenbank [EP1] erstellen
Ich möchte zum ersten Mal eine Django-Studie zum Mittagessen [EP1-4] erstellen
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
Ich möchte auch Linux-Befehle an der Eingabeaufforderung verwenden! Verwenden Sie Linux-Befehle an der Eingabeaufforderung anstelle von Git Bash
Ich möchte eine Variable in einen Python-String einbetten
Ich möchte mit einem Knopf am Kolben übergehen
Ich möchte das Ausführungsergebnis von strace erfassen
Ich möchte in der Django-Verschiebungstabelle scrollen, aber ...
Ich möchte in Python schreiben! (2) Schreiben wir einen Test
Ich möchte eine Datei mit Python zufällig testen
Ich möchte die Grundlagen von Bokeh vollständig verstehen
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Praktisch, um Matplotlib-Unterzeichnungen in for-Anweisungen zu verwenden
Wenn Sie in der for-Anweisung plt.save möchten
Ich möchte die Sicherheit der SSH-Verbindung erhöhen