访问django模板中的元组

时间:2011-03-07 11:58:40

标签: django django-models django-templates django-views

 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]}}');

2 个答案:

答案 0 :(得分:42)

假设您的观看代码是:

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,依此类推。

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

这就是问题所在。

答案 1 :(得分:4)

您可以通过dict() function将您的元组转换为词典:

mydict = dict(t)

然后在模板中,您可以按密钥访问项目,例如here

{{ mydict|get_item:item.NAME }}