在 Jinja2 模板中调用构造的变量名?

Call a constructed variable name in Jinja2 template?

Jinja2有没有构造变量名然后调用的方法?我想做这样的事情:

{% for type in ('Students', 'Faculty', 'Groups') %}
    {% set import_name = 'latest_' + type|lower + '_import' %}
    {{ type }}: {{ import_name.created_at }}
{% endfor %}

我希望输出是这样的:

Students: 5/26/2016
Faculty: 5/25/2016
Groups: 5/25/2016

我在模板范围内设置了变量 latest_students_import、latest_faculty_import 和 latest_groups_import,我想避免在我的 for 循环中有一个大的条件。我根据类型设置import_name,然后尝试"call" import_name。我想要类似 {{ call(import_name) }} 的东西。这可能吗,或者有其他方法可以解决这个问题吗?

在这种情况下,我想我可以以相反的顺序循环遍历三个模板变量名,然后 "print" 缩写的名称,大写,但我更愿意这样做。

一种可能是在包含您的变量的服务器端创建一个 dictlist。然后您可以将该对象作为模板变量发送到 Jinja。就目前而言,您只是将 import_name 设置为等于字符串,它没有 .created_at 属性。