Ich bin neu bei Flask und JS. Entschuldigen Sie bitte die wahrscheinlich dumme Frage. Ich habe kürzlich an einer Flask-App gearbeitet. Das Problem, mit dem ich derzeit konfrontiert bin, ist, dass ich ein 2d-Array über ein Javascript in einer HTML-Seite ausgeben möchte. Die Abfrage und Übergabe dieses Trogs an die HTML-Seite ist nicht das Problem, aber ich kann keine Möglichkeit finden, eine Variable zu haben, die jede Iteration der for-Schleife automatisch inkrementiert. Der Code für den JS-Teil lautet wie folgt:

    {% for groupName in groupNames %}

    You are invited to the group "{{ groupNames[0][0]}}", created by "{{ groupNames[0][1]}}"

    {% endfor %}

Der Code funktioniert, gibt aber natürlich nur das erste Element aus. Ich verwende die sqlite3-Bibliothek für Python. Die erste 0 der Standelemente müsste um eins erhöht werden. Hat jemand eine Idee, wie man das Problem löst?

Prost und danke!

1
Nik.clgn 19 Aug. 2020 im 14:04

2 Antworten

Beste Antwort

Dies ist kein Javascript, aber Sie sollten in der Lage sein, den Iterator groupName mit dem folgenden aktualisierten Code auszugeben:

{% for groupName in groupNames %}

You are invited to the group "{{ groupName[0]}}", created by "{{ groupName[1]}}"

{% endfor %}
3
jonasdev 19 Aug. 2020 im 11:12

Noch etwas näher auf die Antwort von @ jonasdev eingehen.

Die eingebaute for Schleife, wenn sie wie folgt verwendet wird:

{% for groupName in groupNames %}

    You are invited to the group "{{ groupName[0] }}", created by "{{ groupName[1] }}"

{% endfor %}

Bekommt groupName[0] dann groupName[1] und so weiter ... Deshalb müssen Sie das nur tun

You are invited to the group "{{ groupName[0] }}", created by "{{ groupName[1] }}"

Es ist das gleiche wie zu sagen:

arr = [[1, 2], [3, 4], [5, 6], [7, 8]

for item in arr:
    print(item)
    print(item[0])
    print(item[1])

In Python.

0
Mason Curtis 19 Aug. 2020 im 11:23