Ich verwende ein benutzerdefiniertes Widget, um den Kontext für die Widgetvorlage zu ändern (fügen Sie weitere Informationen hinzu).Wie kann ich den forloop.counter0 als Schlüssel in Django verwenden? Vorlage
Kontext:
'selected': [[3, 9], [3, 4, 7, 6]], 'depth_levels': {0: [{'name': 'Category A', 'value': 3, 'depth': 0, 'parent_id': None, 'children': [4, 9]}, {'name': 'Category B', 'value': 8, 'depth': 0, 'parent_id': None, 'children': []}], 1: [{'name': 'Category A_1', 'value': 4, 'depth': 1, 'parent_id': 3, 'children': [5, 7]}
{% for path in widget.selected %}
{% for selected in path %}
{% for level in widget.depth_levels.forloop.counter0 %}
{{ level }}
{% endfor %}
{% endfor %}
{% endfor %}
Zuerst I-Zyklus durch die ausgewählte (Strecke) und die interne Arrays (ausgewählt). Ich möchte die {{forloop.counter0}} als Schlüssel für depth_levels verwenden.
Das Problem: {{widget.depth_levels.forloop.counter0}}
gibt nichts zurück.
Der forloop.counter wird nicht als Index für eine Liste verwendet, aber er wird als Schlüssel für ein Wörterbuch verwendet.
Verwenden von '.' Zugriff ist die Standardmethode, mit der Django-Vorlagen auf ein Wörterbuch zugreifen. * Mit '0', '1' - {{widget.depth_levels.0}}
- usw. anstelle von forloop.counter0
funktioniert es.
wieder ein eigenes Template-Tag ist ein Problem, weil der Zugang in einem for
und nicht {{}}
innen verwenden können:
{% for level in widget.depth_levels.forloop.counter0 %}
Die Schlüssel, die ich brauche depth_levels zugreifen sind von 0 auf die Länge von jedem Array innerhalb der selected
, die 'Pfad' Array im Beispiel.
Die Werte in ausgewählten Arrays sagen mir später, wo Attribute hinzugefügt werden, sind nicht mit den Schlüsseln von depth_levels verwandt.
Mein Endziel ist der Zugriff auf die name
, value
in den Wörterbüchern, die im Array sind.
[Dies] (https://stackoverflow.com/questions/2376511/how-to-access-outermost-forloop-counter-with-nested-for-loops-in-django-template) könnte helfen –
Mögliches Duplikat von [Referenzliste Element für Index innerhalb der Django-Vorlage?] (Https://stackoverflow.com/questions/4651172/reference-list-item-by-index-within-django-template) – Sayse
^siehe zweite Antwort – Sayse