我在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 %}
变量设置为正确的文本,但它是一个字符串,因此它输出文本而不是文本所代表的值。我无法找到一种方法将其转变为表达式。
答案 0 :(得分:0)
使用过滤器attr
获取对象的计算属性值。
{% set texter = (widget_data | attr('text' ~ unique)).value %}