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

Posted

技术标签:

【中文标题】Django 使用模板变量的值作为另一个变量名的一部分【英文标题】:Django use value of template variable as part of another variable name 【发布时间】:2015-02-04 03:17:58 【问题描述】:

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

% for i in 1234|make_list %

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

 form.answer_ i  

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

【问题讨论】:

【参考方案1】:

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

Performing a getattr() style lookup in a django template

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

% load getattribute %

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

【讨论】:

非常感谢您指导我

以上是关于Django 使用模板变量的值作为另一个变量名的一部分的主要内容,如果未能解决你的问题,请参考以下文章

Django - 如何将 javascript 变量从另一个文件加载到模板

我将如何在 Django 模板标签中使用模板上下文变量的值? [复制]

将 DJango 模板变量作为输入参数传递

在 Django 模板中使用外键作为变量

如何在默认过滤器中使用 django 变量作为文本

在 Django url 模板标签中获取 javascript 变量的值