〜在jinja2的对面

时间:2018-05-17 19:03:46

标签: python jinja2 hubspot

我在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 :(得分:0)

使用过滤器attr获取对象的计算属性值。

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