Как перебрать словарь в словаре в шаблоне django, используя переменную jinja? - PullRequest
0 голосов
/ 06 июня 2019

Мой словарь выглядит так:

a = {
            "1": {
                "league_id": "1",
                "name": "2018 Russia World Cup",
                "country": "World",
                "country_code": "",
                "season": "2018",
                "season_start": "2018-06-14",
                "season_end": "2018-07-15",
                "standings": False,
            },
            "2": {
                "league_id": "2",
                "name": "Premier League",
                "country": "England",
                "country_code": "GB",
                "season": "2018",
                "season_start": "2018-08-10",
                "season_end": "2019-05-12",
                "standings": True
            },
        }

Я хочу просмотреть цикл и отобразить все значения для «имени» и «страны».

мой код в моем .html шаблоне выглядит так:

          {% for c in a %}
                 <thead>{{ a[c]['country'] }}</thead>
          {% endfor %}

          {% for n in a %} 
            <tr>
                <td>{{  a[n]['name'] }}</td>
            </tr>
          {% endfor %}

Это выдало ошибку:

Не удалось разобрать остаток: '[c] [' country ']' из 'Лиг [с] [' страна ']'

Я тоже пытался

     {% for c in leagues %}
            <thead>{{ leagues.c.country }}</thead>
     {% endfor %}

     {% for n in leagues %}
            <tr>
                <td>{{  a.n.name }}</td>
            </tr>
    {% endfor %}

Это дало пустую страницу.

Как настроить таргетинг на имя и страну значений?

1 Ответ

0 голосов
/ 06 июня 2019

Вы не используете Jinja , вы используете язык шаблонов Django.

Но это не то, как вы просматриваете диктовки или списки в Python.Когда вы делаете for x in whatever, x равен фактический элемент , а не индекс.Кроме того, когда вы хотите просмотреть значения dict, вы должны использовать метод values.

 {% for league in leagues.values %}
        <thead>{{ league.country }}</thead>
 {% endfor %}

 {% for league in leagues.values %}
        <tr>
            <td>{{ league.name }}</td>
        </tr>
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...