我在Django模板中使用模板标记(标记为thumbnail
),它抛出了一个异常,导致模板失败并出现500错误。我想阻止这种情况的发生,因为我没有完全控制零星触发此异常的源图像,并且在这些情况下使用空白/占位符图像。这是当前模板的代码:在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 %}
这是例外(PIL把它扔了):
TemplateSyntaxError at/
Caught IOError while rendering: cannot identify image file
我搜索的解决方案,并提出了silent_variable_failure这是一个属性,如果定义,使得一个例外是安静的。我想这可能指向正确的方向,但据我所知,任何解决方案使用这将意味着我将不得不修改模板标记代码本身,这是一个外部库 - 我不希望这样做,
理想情况下,我想用我的代码中的第三行替换{% empty or exception_raised %}
。
这样的事情是否存在?你知道任何替代品吗?
Django的模板错误似乎静默失败,这是奇怪的是`thumbnail`标签不遵循同样的约定。我认为正常的Django行为将会失败。 – dm03514 2011-12-15 17:24:29
@ dm03514 - 是的,那是真的。这对我来说就像是一个bug。也许我应该报告它。 – 2011-12-15 17:38:22