Ausgabe
Ich habe ein Wörterbuch von Vulkanen aus einer USGS-Quelle erstellt
url3 = "https://volcview.wr.usgs.gov/vv-api/volcanoApi/wwvolcanoes"
vmap = requests.get(url3.format()).json()
volcanoinfo = [{
'name':i['vn'],
'vlat':i['lat'],
'vlng':i['lng'],
'elev':i['elevM'],
'obs':i['obsAbbr']}
for i in vmap]
Daraus möchte ich eine erstellen
Tag mit dem Attribut vlat oder vlng in jedem, aber wenn ich eine for-Schleife verwende, fügt es nichts in das Tag ein. Das Ergebnis ist die richtige Anzahl von
ohne Eingabe.
{%for i in volcanoinfo%}
<p>{{ volcanoinfo['vlat'] }}</p>
<p>{{ volcanoinfo['vlng'] }}</p>
{%endfor%}
Jede Hilfe wäre willkommen, Prost
Lösung
Im zweiten Code-Snippet versuchen Sie, über Vulkaninfo auf „vlat“ zuzugreifen, aber Vulkaninfo ist eine Liste, kein Wörterbuch. Vielmehr ist jedes Element in der Vulkaninfo-Liste ein Dictionary-Objekt. Verwenden Sie also im zweiten Code-Snippet i[‘vlat’] anstelle vonvulkaninfo[‘vlat’].
Es könnte so aussehen wie unten-
{%for i in volcanoinfo%}
<p>{{ i['vlat'] }}</p>
<p>{{ i['vlng'] }}</p>
{%endfor%}
Beantwortet von – Faruk Ahmad
Antwort geprüft von – Dawn Plyler (FixError Volunteer)