【发布时间】:2015-12-05 16:46:21
【问题描述】:
我将我的静态文件存储在 Amazon S3 上,并且我正在使用 Django 的缓存清除,我的存储类如下所示:
class MyStaticFilesStorage(ManifestFilesMixin, S3BotoStorage):
...
见: https://docs.djangoproject.com/en/1.8/ref/contrib/staticfiles/#manifeststaticfilesstorage
运行manage.py collectstatic 后,所有静态文件都将上传到 S3,文件名中包含缓存清除哈希。
一切都很好,但我不明白如何。
- 我的
static文件夹位于.gitignore中,因此静态文件永远不会到达我的服务器。 - django 创建的
staticfiles.json只存储在 S3 上,所以我去那里删除了它(这样我可以看看它是否有任何影响)。 - 我可以 ssh 到服务器并验证没有名为
staticfiles.json的文件,并且服务器上没有静态文件。
但是 Django 仍然在服务器上生成具有正确哈希的正确静态 URL(例如:main.c076b26cc1a7.css)。
怎么样?没有映射(staticfiles.json),没有原始文件,django怎么知道hash?
【问题讨论】: