模板中的 Django 字典:从另一个对象属性中获取键

Posted

技术标签:

【中文标题】模板中的 Django 字典:从另一个对象属性中获取键【英文标题】:Django dictionary in templates: Grab key from another objects attribute 【发布时间】:2011-03-01 21:16:24 【问题描述】:

我有一个名为 number_devices 的字典,我正在传递给模板,字典键是我也传递给模板的对象列表的 ID(称为 implementations)。我正在遍历对象列表,然后尝试使用 object.id 从字典中获取值,如下所示:

    % for implementation in implementations %
         number_devices.implementation.id 
    % endfor %

不幸的是,number_devices.implementation 首先被评估,然后result.id 被评估显然返回并且什么都不显示。我不能使用括号,例如:

 number_devices.(implementation.id) 

因为我得到一个解析错误。如何解决 Django 模板中的这种烦恼?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

一种解决方法是使用 number_devices 中的键,并在 for 循环中检查它是否等于 number_devices 提供的键。

% for key in number_devices.keys %
    % for implementation in implementations %
        % ifequal key implementation.id % you got it % endifequal %
    % endfor %
% endfor %

看起来有点难看,但应该可以。

【讨论】:

以上是关于模板中的 Django 字典:从另一个对象属性中获取键的主要内容,如果未能解决你的问题,请参考以下文章

Django模板语言解包字典

Django 模板

django的模板语言

Django框架 之 模板语言

将带有对象列表的字典作为 django 中的值呈现,但模板不显示值

如何访问 Django 模板中的字典元素?