Estoy usando una etiqueta de plantilla en una plantilla de Django (la etiqueta es thumbnail
) y arroja una excepción que hace que la plantilla falle con un error de 500. Me gustaría evitar que esto ocurra, ya que no tengo control total sobre las imágenes de origen que ocasionalmente desencadenan esta excepción, y en cambio utilizo una imagen en blanco/marcador de posición en esos casos. Este es el código actual plantilla:Captura de excepciones en plantillas de django
{% thumbnail video.image_url "50x74" crop="center" as im %}
<img src="{% cdn_images im.url %}" />
{% empty %}
<img src="/media/img/noimage_thumb.png" alt="" />
{% endthumbnail %}
Esta es la excepción (PIL lo tira):
TemplateSyntaxError at/
Caught IOError while rendering: cannot identify image file
he buscado soluciones y se acercó con silent_variable_failure que es una propiedad que, si está definido, hace una Excepción sea silenciosa. Creo que esto puede apuntar en la dirección correcta, pero hasta donde puedo decir que cualquier solución usando esto significaría que tendría que modificar el código de la etiqueta de la plantilla en sí, que es una biblioteca externa. Preferiría no hacerlo,
Idealmente me gustaría reemplazar la tercera línea en mi código con algo como {% empty or exception_raised %}
.
¿Existe algo así? ¿Conoces alguna alternativa?
errores de plantillas de Django parecen fallar en silencio, es extraño que el 'thumbnail' etiqueta no sigue esta misma convención. Creo que el comportamiento normal de django estaría fallando silenciosamente. – dm03514
@ dm03514 - sí, eso es cierto. Se siente como un error para mí. Quizás debería informarlo. –