J'écris une balise de modèle personnalisée 'firstnotnone', similaire à la balise template 'firstof' de Django. Comment utiliser des arguments de longueur variable? Le code ci-dessous aboutit à TemplateSyntaxError, firstnotnone prend 1 arguments.comment créer un tag de modèle personnalisé django avec une liste d'arguments de longueur variable
Modèle:
{% load library %}
{% firstnotnone 'a' 'b' 'c' %}
personnalisée bibliothèque de balises de modèle:
@register.simple_tag
def firstnotnone(*args):
print args
for arg in args:
if arg is not None:
return arg
Merci, le code semble propre. Dommage que cela ne puisse pas être fait avec une liste d'arguments de longueur variable. –
Vous êtes sûr que ça ne peut pas? – MattH
@Jack Ha: Il gère les listes d'arguments de longueur variable, je l'ai même testé. Pour autant que je puisse voir, c'est une mise en œuvre exactement de ce que vous demandiez. – MattH