在django模板中访问元组
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}))
如何在不使用 for
循环的情况下访问 Django 模板中的 t
值?我已经尝试过以下方法,但似乎不起作用:
alert('{{t[a]}}');
alert('{{t[c]}}');
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}))
How can I access a value of t
in Django templates without using a for
loop? I have tried the following and it doesn't seem to work:
alert('{{t[a]}}');
alert('{{t[c]}}');
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
假设您的视图代码是:(
而不是如OP中所述)
{{ t.0.0 }}
类似于Python代码中的t[0][0]
。这应该给你“a”,因为t.0
是列表 t 的第一个元素,它本身是一个元组,然后另一个.0
是元组的第一个元素元素。{{ t.0.1 }}
将为 1,依此类推。但在你的问题中,你正在创建一个元组并尝试访问它,就好像它是一个字典一样。
这就是问题所在。
Assuming your view code is:
(and not as stated in the OP)
{{ t.0.0 }}
is liket[0][0]
in Python code. This should give you "a", becauset.0
is the first element of the list t, which itself is a tuple, and then another.0
is the tuple's first element.{{ t.0.1 }}
will be 1, and so on.But in your question you are creating a tuple and trying to access it as if it is a dict.
That's the problem.
您可以通过 dict() 函数将元组转换为 dict:
然后在模板中,您可以按键访问项目,例如 此处:
You can convert your tuple to dict via dict() function:
And then in template you can access items by key like here: