Müde Wissen über Django-Vorlagen-Tags

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 und items 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

forloopDas -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.

Supongo que te gusta

Origin blog.csdn.net/wenhao_ir/article/details/134732664
Recomendado
Clasificación