Django - 模板中的Liste索引

时间:2018-01-15 13:59:36

标签: python django django-templates

我的模板有问题。

我知道如何使用list.index从列表中获取值,但现在我的索引值为list.container.id (=1)

所以,我愚蠢地尝试list.container.id并且不像list.1那样工作。

1 个答案:

答案 0 :(得分:1)

编辑:正如所指出的那样,旧答案是错误的,

新解决方案:

创建自定义过滤器标记。

在你的应用程序中,创建一个名为templatetags的python模块(创建一个文件夹并在其中放置一个 init .py文件),然后为自定义过滤器创建一个py文件,例如:my_custom_filter.py

from django import template

register = template.Library()


@register.filter
def index_my_list(my_list, index):
    try:
        return my_list[index]
    except IndexError:
        return None

在模板中使用

{{list|index_my_list:container.id}}

所有这些都说,最好将逻辑代码放在视图中,您可能想重新考虑数据结构

错误的解决方案:

将container.id分配给变量然后使用它

{% with container.id as foo %}

{{list.foo}}