383 Stimmen

Django - Iterieren Nummer in for-Schleife einer Vorlage

Ich habe die folgende for-Schleife in meiner Django-Vorlage, die Tage anzeigt. Ich frage mich, ob es möglich ist, eine Zahl (im folgenden Fall i) in einer Schleife zu iterieren. Oder muss ich sie in der Datenbank speichern und sie dann in Form von days.day_number abfragen?

{% for days in days_list %}
    <h2># Day {{ i }} - From {{ days.from_location }} to {{ days.to_location }}</h2>
{% endfor %}

1voto

Mayur Raj Punkte 51

[Django HTML-Vorlage unterstützt derzeit keinen Index], aber Sie können das Ziel erreichen:

を使用する場合 Wörterbuch innerhalb von Dictionary in views.py, dann ist eine Iteration mit Schlüssel als Index möglich:

{% for key, value in DictionartResult.items %} <!-- dictionartResult is a dictionary having key value pair-->
<tr align="center">
    <td  bgcolor="Blue"><a href={{value.ProjectName}}><b>{{value.ProjectName}}</b></a></td>
    <td> {{ value.atIndex0 }} </td>         <!-- atIndex0 is a key which will have its value , you can treat this key as index to resolve-->
    <td> {{ value.atIndex4 }} </td>
    <td> {{ value.atIndex2 }} </td>
</tr>
{% endfor %}

Wenn Sie sonst Liste innerhalb des Wörterbuchs können nicht nur die erste und die letzte Iteration gesteuert werden, sondern alle Indizes können gesteuert werden:

{% for key, value in DictionaryResult.items %}
    <tr align="center">
    {% for project_data in value %}
        {% if  forloop.counter <= 13 %}  <!-- Here you can control the iteration-->
            {% if forloop.first %}
                <td bgcolor="Blue"><a href={{project_data}}><b> {{ project_data }} </b></a></td> <!-- it will always refer to project_data[0]-->
            {% else %}
                <td> {{ project_data }} </td> <!-- it will refer to all items in project_data[] except at index [0]-->
            {% endif %}
            {% endif %}
    {% endfor %}
    </tr>
{% endfor %}

End If ;)

// Hoffentlich haben wir die Lösung mit Dictionary, List, HTML Template, For Loop, Inner loop, If Else abgedeckt. Django HTML Documentaion für weitere Methoden: https://docs.djangoproject.com/en/2.2/ref/templates/builtins/

0voto

Ich denke, Sie könnten die ID wie folgt aufrufen

{% for days in days_list %}
    <h2># Day {{ days.id }} - From {{ days.from_location }} to {{ days.to_location }}</h2>
{% endfor %}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X