2011-12-02 85 views
0

我有一本字典:循环通过列表在Django模板

babies = {'clothes list':['a','b','c','d'], 'lots of toys': 'yes'} 

现在在模板我想做的相当于:

for cloth in babies['clothes list']: 
    print cloth 

我已经过滤key_lookup定义。所以做这个工作模板:

{{ babies|key_lookup:'lots of toys' }} 

但这样做

{% for cloth in babies|key_lookup:'clothes list' %} 

不起作用。

上述字典仅仅是一个例子。我无法修改字典键。 key_lookup被定义为

def key_lookup(the_dict, key): 
    return the_dict.get(key, None) 

回答

1

您在使用with试过吗?如果这只是一个语法问题,这可能会起作用:

{% with clothes=babies|key_lookup:'clothes list' %} 
    {% for cloth in clothes %} 
     ... 
    {% endfor %} 
{% endwith %} 
+0

这应该是'衣服像婴儿一样......'吗? – Ben

+0

nrabinowitz该works..thanks。 Django模板你为什么这么难? – ghostcoder

+0

@Ben - 我认为上面在Django 1.3加入的语法 - 见[该文档(https://docs.djangoproject.com/en/1.3/ref/templates/builtins/#with)。较旧的语法仍然支持,但我认为你有它向后:'有婴儿| ...作为clothes' – nrabinowitz