我正在使用自定义静态文件存储:
class StaticFilesStorage(CachedFilesMixin, S3BotoStorage):
pass
(CachedFilesMixin用于缓存清除)。
我的问题是,当我在我的模板{% static "file_that_does_not_exist.jpg" %}
中时,模板未呈现,我得到异常
ValueError: The file 'file_that_does_not_exist.jpg' could not be found with <StaticFilesStorage object at 0x03AE4C70>.
它失败了,因为文件不在S3上,所以S3BotoStorage不能提供它,但这意味着如果例如我的logo.jpg文件由于某种原因丢失,那么整个网站都会关闭,这不是很好.. < / p>
有没有办法迫使{% static %}
无声地失败?
答案 0 :(得分:0)
目前这对我有用:
class StaticFilesStorage(CachedFilesMixin, S3BotoStorage):
def exists(self, name):
return True
这会覆盖S3BotoStorage.exists()
,因此{% static %}
不会引发异常并生成S3网址(它会向浏览器提供404,但确定无误)。