API, возвращающий массив внутри объекта, как отобразить содержимое - Django

Итак, я запрашиваю спотовую цену у cex API, он возвращает что-то вроде этого {"data":[{"amount: "67000.0", "base": "BTC", "currency": "USD"}]} конечно, есть несколько возвратов, поэтому я хочу перебрать их в цикле.

В моем файле views.py я передаю его в мой контекст 'price': price. Затем внутри моего .html файла у меня есть список с циклом for, например:

<ul>
  {% for x in price %}
    <li>{{ x }}</li>
  {% endfor %}
</ul>

Затем, когда я открываю свою страницу .html, я получаю

  • data
  • Но что я хотел бы иметь возможность сделать, это сделать таблицу, где у меня есть три колонки, чтобы показать сумму, базу и валюту. Я не знаю, как извлечь эти данные по отдельности

    Вы можете перечислить .values из price, а затем перечислить словари в этом списке с помощью:

    <table>
    {% for vs in price.values %}
        {% for v in vs %}
            <tr><td>{{ v.amount }}</td><td>{{ v.base }}</td><td>{{ v.currency }}</td></tr>
        {% endfor %}
    {% endfor %}
    </table>

    В шаблонах Django вы можете обращаться к элементам словаря с помощью выражения типа {{ dictionary.key }}

    
    <ul>
      {% for x in price %}
        <li>{{ x.amount }}</li>
      {% endfor %}
    </ul>
    

    См. документацию на https://docs.djangoproject.com/en/3.2/ref/templates/api/#variables-and-lookups

    Вернуться на верх