variable template ifequal examples english django django-models django-templates django-views

ifequal - django templates examples



Tupla de acceso en la plantilla django (2)

Suponiendo que su código de vista es:

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

(y no como se indica en el PO)

{{ t.0.0 }} es como t[0][0] en el código de Python. Esto debería darle "a", porque t.0 es el primer elemento de la lista t, que a su vez es una tupla, y luego otro .0 es el primer elemento de la tupla.

{{ t.0.1 }} será 1, y así sucesivamente.

Pero en tu pregunta estás creando una tupla e intentando acceder a ella como si fuera un dict.

Ese es el problema.

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}))

Si quiero acceder a un valor de t en las plantillas de django sin usar un bucle for, ¿cómo puedo hacerlo? He intentado lo siguiente y parece que no funciona

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


Puede convertir su tupla en dict mediante la función dict () :

mydict = dict(t)

Y luego en la plantilla puede acceder a los elementos por clave, como aquí :

{{ mydict|get_item:item.NAME }}