L'accès tuple dans django template
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 je veux accéder à accéder à une valeur de t dans django modèles sans l'aide d'une boucle for comment puis-je le faire.J'ai essayé ce qui suit, et il n'a pas l'air de travailler
alert('{{t[a]}}');
alert('{{t[c]}}');
- Il y a une erreur dans votre code affectation de valeurs à t. Actuellement, il échoue avec l'erreur TypeError, nous ne pouvons pas être sûr de ce que la structure réelle de t, de sorte que nous ne pouvons pas vous aider. Copier-Coller votre code de vue pour éviter ces erreurs.
- Je l'ai corrigé
Vous devez vous connecter pour publier un commentaire.
En supposant que votre code est:
(et non pas comme indiqué dans l'OP)
{{ t.0.0 }}
est commet[0][0]
dans le code Python. Cela devrait vous donner "un", parce quet.0
est le premier élément de la liste t, qui lui-même est un n-uplet, et puis un autre.0
est le n-uplet du premier élément.{{ t.0.1 }}
sera de 1, et ainsi de suite.Mais dans votre question, vous êtes la création d'un n-uplet et tente d'y accéder comme si c'est un dict.
C'est ça le problème.
Vous pouvez convertir votre tuple de dict par dict() la fonction:
Et ensuite dans le modèle, vous pouvez accéder à des éléments clés comme ici: