Question

J'ai une liste d'objets, chacun avec sa propre case à cocher, dans laquelle l'utilisateur peut en sélectionner plusieurs. La liste est le résultat d'une requête.

Comment marquer dans la vue quelles cases sont déjà cochées? Il ne semble pas y avoir d’opérateur in dans le langage des modèles.

Je veux quelque chose comme:

<input {% if id in selectedIds %}checked {% endif %}>
Était-ce utile?

La solution

Vous pouvez utiliser une étiquette de modèle comme celle de cet extrait de commentaire:

http://www.djangosnippets.org/snippets/177/

@register.filter
def in_list(value,arg):
    return value in arg

À utiliser dans les modèles:

The item is 
{% if item|in_list:list %} 
    in list 
{% else %} 
    not in list
{% endif %}

Pas très intelligent, mais ça marche.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top