Sto utilizzando un tag modello in un modello Django (il tag è thumbnail
) e genera un'eccezione che fa fallire il modello con un errore 500. Vorrei evitare che ciò accada, poiché non ho il controllo completo sulle immagini di origine che attivano sporadicamente questa eccezione e, in quei casi, utilizzare un'immagine vuota/segnaposto. Questo è il codice corrente modello:Catching exceptions in django templates
{% 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 %}
questa è l'eccezione (SIF getta):
TemplateSyntaxError at/
Caught IOError while rendering: cannot identify image file
ho cercato soluzioni e si avvicinò con silent_variable_failure che è una proprietà che, se definita, rende un'eccezione è tranquilla. Immagino che questo possa indicare la giusta direzione, ma per quanto posso dire qualsiasi soluzione usando questo significherebbe che dovrei modificare il codice del tag template stesso, che è una libreria esterna - preferirei non farlo,
Idealmente mi piacerebbe sostituire la terza riga nel mio codice con qualcosa come {% empty or exception_raised %}
.
Esiste qualcosa del genere? Conosci qualche alternativa?
errori di modello Django sembrano fallire in silenzio, è strano che il 'thumbnail' tag non segue questa stessa convenzione. Penso che il normale comportamento del Django fallirebbe silenziosamente. – dm03514
@ dm03514 - sì, è vero. Mi sembra un insetto. Forse dovrei segnalarlo. –