Selon The Django Book, le système de templating de Django prend en charge de points imbriqués lookups:dot lookups dans Django emboîtées templates
Dot peuvent être lookups imbriquées plusieurs niveaux de profondeur. Par exemple, l'exemple suivant utilise {{person.name.upper}}, qui se traduit par une recherche de dictionnaire (person ['nom']), puis un appel de méthode (upper()): '{{person.name.upper }} est {{person.age}} ans. '
Y a-t-il des gobelins avec cette approche qui n'est pas largement couverte dans la documentation? Je rencontre des problèmes avec des points imbriqués lookups - voici un exemple minimal:
views.py:
test = [{'foo': [1, 2, 3], 'bar': [4, 5, 6]}, {'baz': [7, 8, 9]}]
ndx = 'bar'
t = loader.get_template('meh.html')
c = Context({'test': test,
'ndx': ndx,})
return HttpResponse(t.render(c))
modèle meh.html:
<pre>
{{ test }}
{{ test.0 }}
{{ test.0.ndx }}
</pre>
résultant HTML:
<pre>
[{'foo': [1, 2, 3], 'bar': [4, 5, 6]}, {'baz': [7, 8, 9]}]
{'foo': [1, 2, 3], 'bar': [4, 5, 6]}
</pre>
La recherche imbriquée d'une clé de dictionnaire dans un élément de liste ne renvoie rien, quand j'attends [4, 5, 6].
J.J.
En tant que Goblin, je suis profondément insultée par cette d'une course entière ... ;-) – cethegeek