Domanda

Ho un elenco di oggetti, ognuno con la propria casella di controllo, in cui l'utente può selezionare più di questi. L'elenco è il risultato di una query.

Come posso contrassegnare nella vista quali caselle di controllo sono già selezionate? Non sembra esserci un operatore in nel linguaggio dei template.

Voglio qualcosa sulla falsariga di:

<input {% if id in selectedIds %}checked {% endif %}>
È stato utile?

Soluzione

Puoi usare un templatetag come quello in questo snippet commenti:

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

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

Da utilizzare nei modelli:

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

Non molto intelligente, ma funziona.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top