Python / Django - 从对象变量值获取索引的列表值

时间:2011-02-04 19:44:15

标签: python django django-templates

我有一个传递给模板的列表。我想访问具有特定索引的值。问题是在模板中使用点表示法访问列表...

例如:

object = { id: 1 }
list = [ "zero", "one" ]
print list[ object.id ] ## one

列表在模板中后,您可以使用点表示法按索引访问值。

list.1 ## one
list[ object.id ] ## this doesn't work
list.object.id ## this doesn't work obv.

如何使用索引“1”访问值“one”?

提前致谢!

2 个答案:

答案 0 :(得分:2)

我不认为Django的模板语言可以实现这一点。它的设计非常有限。

您可以通过将该代码放在视图中,并在渲染时将list[object.id]的值向下传递给模板来完成此操作。

答案 1 :(得分:1)

我不太同意这是不可能的。

您可以创建模板标记,它将接受两个参数并将注入一个新参数 变量到模板上下文中。

用法如下:    {%get_list_member list object.id as list_member%}

然后您可以使用list_member作为普通模板变量{{list_member}}

检查标准url模板标签的实现,这也允许将url分配到 模板上下文变量供以后使用。