2009-08-26 12 views

Répondre

4

En code python, vous pouvez utiliser la méthode get_children. Cela devrait fonctionner:

children = node.get_children() 
if children: 
    last_child = list(children)[-1] 

Pour utiliser dans un modèle, vous aurez besoin d'écrire simple étiquette de modèle:

from django import template 
register = template.Library() 

@register.simple_tag 
def last_child(node): 
    children = node.get_children() 
    if children: 
     return list(children)[-1] 
    else: 
     return "" 

Jetez un oeil à l'Django documentation pour savoir comment intégrer cette balise dans votre projet.

+0

Cela semble très bien, mais j'obtiens cette erreur: Pris une exception lors du rendu: L'indexation négative n'est pas prise en charge. – Hobhouse

+0

Désolé, j'ai oublié de transformer le jeu de requête en liste. Correction –

+0

super, maintenant cela fonctionne! :-) petite note si quelqu'un copie ce code: retour = liste (enfants) [- 1] dans le simple_tag devrait bien sûr être retour liste (enfants) [- 1] – Hobhouse