如何在Django模板中显示数组值?

时间:2018-11-15 16:49:24

标签: python django python-3.x django-rest-framework django-templates

我有以下数组,想在模板中显示日期名称。

onClick

我可以使用DAYS = ((0, "Saturday"), (1, "Sunday"), (2, "Monday"), (3, "Tuesday"), (4, "Wednesday")) 显示星期一,但是我无法使用{{ DAYS.2.1 }}显示。

我从for循环中获得了{{DAYS.class_weekday.key_value.1}},但是当我使用class_weekday.key_value时,它什么也没显示!

谢谢!

3 个答案:

答案 0 :(得分:3)

您可以使用

{{ instance.get_day_display }}

在您的模板中。选择显示值而不是数据库值。

如果要显示所有值:

[ x for x, y in DAYS ]

将返回包含日期列表的列表,

答案 1 :(得分:0)

按照Django

https://docs.djangoproject.com/en/1.10/ref/templates/api/#variables-and-lookups

变量和查找

变量名称必须由任何字母(A-Z),任何数字(0-9),下划线(但不能以下划线开头)或点组成。

点在模板渲染中具有特殊含义。变量名称中的点表示查找。具体来说,当模板系统遇到变量名称中的点时,它将按以下顺序尝试以下查找:

conda update anaconda

请注意,如果模板上下文中存在模板表达式,例如{{foo.bar}}中的“ bar”将被解释为文字字符串,而不使用变量“ bar”的值。

因此您可以为此使用自定义过滤器。

您可以创建自定义模板过滤器:

Dictionary lookup. Example: foo["bar"]
Attribute lookup. Example: foo.bar
List-index lookup. Example: foo[bar]

在模板中

#here, import DAYS
@register.filter
def return_day(i):
    try:
        return DAYS[i][1]
    except:
        return N.A

答案 2 :(得分:-1)

您想要的是DAYS[2][1]:)