Tengo el siguiente código en mi plantilla que supone comparar el valor de watchinstance.shift
, que puede ser "DÍA" o "NOCHE", con una cadena literal "DÍA". La comparación siempre falla.El valor de variable de la plantilla de Django a la comparación literal de cadena falla
{% for watchinstance in watchinstance_list %}
{% if watchinstance.shift == "DAY" %}
<p>shift is DAY</p>
{% endif %}
{% endfor %}
Usando ifequal
no funciona bien:
{% for watchinstance in watchinstance_list %}
{% ifequal watchinstance.shift "DAY" %}
<p>shift is DAY</p>
{% endifequal %}
{% endfor %}
Sin embargo, sólo llamar {{ watchinstance.shift }}
funciona como espera:
{% for watchinstance in watchinstance_list %}
{{ watchinstance.shift }}
{% endfor %}
devuelve los días y noches.
He comprobado si watchinstance.shift
devuelve caracteres adicionales, y no se ve como lo hace ... ¿Qué más puedo perder aquí?
+1. Tiene sentido. –
1) Sí, esa es la forma en que originalmente verifiqué los caracteres adicionales. No hubo ninguno –
2) ¡Estaba sospechando que tenía algo que ver con eso! ¡De hecho, es una referencia de clave externa a la instancia del modelo de cambio! Después de buscar durante 2 horas, ¡finalmente encontré la manera de aplicarlo! –