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