Я использую тег шаблона в шаблоне Django (тег thumbnail
), и он бросает исключение, которое заставляет шаблон терпеть неудачу с ошибкой 500. Я хотел бы прекратить это, поскольку у меня нет полного контроля над исходными изображениями, которые спорадически запускают это исключение и вместо этого используют вместо этого пустое/замещающее изображение. Это текущий код шаблона:
{% 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 %}
Это исключение (PIL выбрасывает его):
TemplateSyntaxError at /
Caught IOError while rendering: cannot identify image file
Я искал решения и придумал silent_variable_failure, который является свойством, которое, если определено, делает исключение тихим. Я предполагаю, что это может указывать на правильное направление, но насколько я могу сказать, что любое решение, использующее это, означало бы, что мне придется изменить сам тег тега шаблона, который является внешней библиотекой - я бы предпочел не делать этого,
В идеале я хотел бы заменить третью строку в моем коде чем-то вроде {% empty or exception_raised %}
.
Есть ли что-нибудь подобное? Знаете ли вы какие-либо альтернативы?