[FIXED] Erstellen von

mit jedem Eintrag in einer Wörterbuch-Forloop

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)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like