Доступ к значениям Jinja2 dict_keys внутри шаблона - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь выяснить, почему в Jinja2 следующий код не работает. Я устанавливаю ключи словаря в Jinja2, в этом словаре есть только один ключ, и я хочу получить доступ к имени ключа, однако при вызове переменной tc_class_name внутри Jinja2 возвращается только dict_keys(['TestEVPNSingleFlow'])) Я пытался использовать индекс списка {{tc_class_name[0]}) но какая-то причина, которая ничего не возвращает. Тем не менее, я попытался сделать это в Python, и использование списка индекса работает. Также, если я сделаю Jinja2 для l oop над tc_class_name, который работает, но предпочел бы лучшее решение, потому что я столкнусь с другими проблемами, если я использую Jinja2 для l oop

Код Jinja2

{% set tc_class_name = chart_data[0]['TestCaseData'].keys() %}
{{tc_class_name})

# returning the following when i print out tc_class_name variable inside the HTML
# dict_keys(['TestEVPNSingleFlow']))

Обычный Python Код

In [17]: tc_class_name = chart_data[0]['TestCaseData'].keys()

# This is what I am trying to do via Jinja2 not sure why this is not working for Jinja
In [19]: tc_class_name[0]
Out[19]: 'TestEVPNSingleFlow'

1 Ответ

1 голос
/ 01 апреля 2020

Так что, как я понял, решение было довольно простым, просто нужно было вернуть dict_keys как истинный список для понимания jinja2. Вот что я в итоге сделал.

{% set tc_class_name = chart_data[list_len]['TestCaseData'].keys() | list %}

...