访问的元组

问题描述:

t=[] 
t.append(("a",1)) 
t.append(("b",2)) 
t.append(("c",3)) 
return render_to_response(t.html, context_instance=RequestContext(request, {'t':t})) 

如果我想访问接入在Django模板T的值,而无需使用for循环我该怎么办它。我曾尝试以下,它似乎没有工作访问的元组

alert('{{t[a]}}'); 
    alert('{{t[c]}}'); 
+0

在你的代码的Theres错误分配值到t 。目前它与TypeError失败,所以我们不能确定t的真实结构是什么,所以我们不能帮助你。复制粘贴您的视图代码以防止这些错误。 – 2011-03-07 12:02:51

+0

我已经纠正它 – Rajeev 2011-03-07 12:06:22

假设你的视图的代码是:

t=[] 
t.extend([('a',1),('b',2),('c',3)]) 

(而不是如在OP说明)

{{ t.0.0 }}是像在Python代码中使用t[0][0]。这应该给你“a”,因为t.0是列表t的第一个元素,它本身是一个元组,然后另一个.0是元组的第一个元素。

{{ t.0.1 }}将为1,依此类推。

但在你的问题中,你正在创建一个元组,并试图访问它,就像它是一个字典。

这就是问题所在。

+0

我们不能访问键的值,即a,b,c? – Rajeev 2011-03-07 12:11:34

+0

你可以,但你必须做一个字典:t = {'a':1,'b':2,'c':3},那么t.a应该可以工作。 – 2011-03-07 12:19:39

你可以把你的元组通过dict() function与dict:

mydict = dict(t) 

然后在模板中,您可以通过按键像here访问项目:

{{ mydict|get_item:item.NAME }}