Я пытаюсь получить некоторую переменную из столбца и передать переменную как имя ключа, чтобы получить из столбца, но что-то кажется отсутствующим. Я попробовал несколько комбинаций, но никто не работает.Блок внутри блока в Jinja2
В первой строке - я получаю key-house_name, а затем во второй строке хочу динамически получить соответствующее значение для этого ключа из Pillar. Часть ключа статические (дома: список) и динамические (часть house_name)
{% for house_name in event_data.house_list|list %}
{% set home_def = salt['pillar.get']('homes:list:{{ house_name }}') %}
...
{% endfor %}
Когда я жёстко на house_name во второй строке - все работает нормально - а это значит, что-то в оказании ключа с пространством имен является неправильным. Несколько комбинаций, которые я пытался, но не работают на второй линии:
{% set home_def = salt['pillar.get']('homes:list:'{{ house_name }}) %}
{% set home_def = salt['pillar.get']("homes:list:{{ house_name }}") %}
Это работало как шарм, спасибо за тонну. Я понимаю, что у меня отсутствует какая-то базовая синтаксическая документация - любые указатели? –
В Jinja2 двойные фигурные скобки используются как оператор печати. Если вы обращаетесь к переменным внутри тегов, не помещайте скобки вокруг них. См. Раздел 'variables' в документации: http://jinja.pocoo.org/docs/dev/templates/#variables –
, как он будет работать, если есть два динамических значения, например: homes: list: {}: {}, где две круглые скобки, где мне нужно поставить две переменные –