01-für-Tag
In Django-Vorlagen ist das for
-Tag ein wichtiges Tag, das für die Schleifeniteration verwendet wird. Seine Syntax ähnelt der for
-Schleife in Python, wird jedoch in Django-Vorlagen speziell verwendet. Im Folgenden finden Sie eine detaillierte Einführung in das Django-Vorlagen-Tagfor
:
Grundgrammatik
{% for item in items %}
{# 循环体 #}
{
{ item }}
{% endfor %}
{% for item in items %}
: Starten Sie die Schleife, wobeiitem
die Schleifenvariable unditems
die von der Schleife zu iterierenden Daten sind.{# 循环体 #}
: Vorlagencode, der im Schleifenkörper ausgeführt wird.{ { item }}
: Zeigt den Wert der Schleifenvariablen an.{% endfor %}
: Beende die Schleife.
Hinweis:items
ist ein iterierbares Objekt. Dieses iterierbare Objekt muss in der Ansichtsfunktion generiert worden sein und kann in der Vorlage nicht erneut generiert werden. Das heißt, die folgende Schreibmethode ist korrekt:
{% for line_number in context1.page_range_pc %}
<p>第{
{ line_number }}行</p>
{% endfor %}
Aber die Art, es zu schreiben, ist:
{% for line_number in range(context1.page_range) %}
<p>第{
{ line_number + 1 }}行</p>
{% endfor %}
Es ist falsch, das heißt, die Funktion range() kann nicht im for-Vorlagen-Tag verwendet werden.
Schleifenvariablen und leere Variablen
In Django-Vorlagen for
erstellen Schleifen eine Schleifenvariable, die Sie im Schleifenkörper verwenden können. Wenn die Schleifendaten leer sind, können Sie sie mit dem Schlüsselwort empty
verarbeiten.
{% for item in items %}
{
{ item }}
{% empty %}
<p>No items available.</p>
{% endfor %}
Filter in Loop-Tags
Sie können Filter infor
Schleifen verwenden, um Daten zu verarbeiten:
{% for item in items|filter:"search_query" %}
{
{ item }}
{% endfor %}
Zähler in Schleife
Wenn Sie den Index oder die Anzahl der aktuellen Schleife erhalten müssen, können Sie das Objektforloop
verwenden:
{% for item in items %}
{
{ forloop.counter }}: {
{ item }}
{% endfor %}
forloop.counter
: Der Zähler der aktuellen Schleife, beginnend bei 1.forloop.counter0
: Der Zähler der aktuellen Schleife, beginnend bei 0.
Andere Eigenschaften in der Schleife
forloop
Das -Objekt verfügt auch über einige andere Attribute, z. B. forloop.first
, das angibt, ob das aktuelle Element das erste Element in der Schleife ist, und forloop.last
, das angibt, ob das aktuelle Element das erste Element in der Schleife ist Element ist in der Schleife Das letzte Element.
{% for item in items %}
{% if forloop.first %}
First: {
{ item }}
{% elif forloop.last %}
Last: {
{ item }}
{% else %}
{
{ item }}
{% endif %}
{% endfor %}
Verschachtelte Schleifen
Django-Vorlagen unterstützen die Verschachtelung von Schleifen. Sie können einefor
Schleife in einer anderen verschachteln.
{% for category in categories %}
<h2>{
{ category.name }}</h2>
<ul>
{% for item in category.items %}
<li>{
{ item.name }}</li>
{% endfor %}
</ul>
{% endfor %}
Dies sind einige grundlegende Verwendungen von for
-Tags in Django-Vorlagen. Sie können andere Vorlagen-Tags und Filter kombinieren, um komplexere Logik entsprechend spezifischer Anforderungen zu implementieren.