Pregunta

Tengo una lista de objetos, cada uno con su propia casilla de verificación, donde el usuario puede seleccionar varios de estos. La lista es el resultado de una consulta.

¿Cómo puedo marcar en la vista qué casillas de verificación ya están seleccionadas? No parece haber un operador in en el lenguaje de plantilla.

Quiero algo en la línea de:

<input {% if id in selectedIds %}checked {% endif %}>
¿Fue útil?

Solución

Podrías usar una etiqueta de plantilla como la de los comentarios de este fragmento:

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

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

Para usar en plantillas:

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

No es muy inteligente, pero funciona.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top