template tag queryset formulario boton bootstrap abm django templates

tag - Plantillas de Django: probando si la variable está en lista o dict



extends django template tag (2)

¿Quieres pasar una cadena separada por comas de la plantilla? Crear un templatetag personalizado:

from django import template register = template.Library() @register.filter def in_list(value, the_list): value = str(value) return value in the_list.split('','')

Entonces puedes llamarlo así:

{% if ''a''|in_list:''a,b,c,d,1,2,3'' %}Yah!{% endif %}

También funciona con variables:

{% if variable|in_list:''a,b,c,d,1,2,3'' %}Yah!{% endif %}

me preguntaba si hay una manera de probar si una variable está dentro de una lista o dict en django usando las etiquetas y filtros integrados.

Es decir: {% if var|in:the_list %}

No lo veo en los documentos, e intentaré algo personalizado si no, pero no quiero hacer algo que ya se ha hecho.

Gracias


En Django 1.2, solo puedes hacer

{% if var in the_list %}

como lo harías en Python.

De lo contrario, sí, necesitará un filtro personalizado. Sin embargo, es un trípode:

@register.filter def is_in(var, obj): return var in obj