Django使用模板变量的值作为另一个变量名的一部分

时间:2014-12-05 21:00:12

标签: python django variables django-templates

我目前在我的模板中有这个for循环:

{% for i in 1234|make_list %}

我想在循环内获得类似的东西:

{{ form.answer_{{ i }} }}

我知道上面的行无效(它引发了TemplateSyntaxError),但我想知道是否有任何方法可以使用i的值作为我的其他变量名的一部分。

1 个答案:

答案 0 :(得分:2)

首先,您需要custom template filter来模仿getattr()功能,请参阅:

然后,您需要add template filter进行字符串连接:

{% load getattribute %}

{% for i in 1234|make_list %}    
    {% with "answer_"|add:i as answer %}
        {{ form|getattribute:answer }}
    {% endwith %}
{% endfor %}