Напротив ~ в jinja2 - PullRequest
       26

Напротив ~ в jinja2

0 голосов
/ 17 мая 2018

Я создаю переменную внутри forloop.Переменная установлена ​​на код, представляющий значение модуля.Мне нужно ввести другую переменную в это выражение.конкатенация превращает выражение в строку.Ниже приведены переменные, которые должны быть созданы.

{% set texter = widget_data.text.value %}
{% set texter = widget_data.text_2.value %}
{% set texter = widget_data.text_3.value %}

мой код:

 {% for item in range(3) %}
    {% if loop.index > 1 %}
        {% set unique = "_" + loop.index %}
    {% else %}
        {% set unique = "" %}
    {% endif %}

    {% set texter = "widget_data.text" ~ unique ~ ".value" %}
{% endfor %}

Переменные установлены на правильный текст, но это строка, поэтому она выводит текст вместозначение, которое представляет текст.Я не могу найти способ превратить это обратно в выражение.

1 Ответ

0 голосов
/ 20 июня 2018

Используйте фильтр attr, чтобы получить значение вычисляемого атрибута объекта.

{% set texter = (widget_data | attr('text' ~ unique)).value %}
...