我将我的静态文件存储在Amazon S3上,而我正在使用Django的缓存清理,我的存储类看起来像这样:
class MyStaticFilesStorage(ManifestFilesMixin, S3BotoStorage):
...
Run Code Online (Sandbox Code Playgroud)
请参阅:https: //docs.djangoproject.com/en/1.8/ref/contrib/staticfiles/#manifeststaticfilesstorage
运行后, manage.py collectstatic
所有静态文件都上传到S3,文件名中包含缓存清除哈希值.
一切都很好但我无法理解.
static
文件夹在.gitignore
静态文件从未到达我的服务器.staticfiles.json
该Django的将创建仅存储在S3上,所以我去那里,并删除了它(这样我就可以看它是否有任何影响).staticfiles.json
文件,并且服务器上没有静态文件.但是,Django仍然在服务器上生成具有正确哈希的正确静态URL(例如:main.c076b26cc1a7.css).
怎么样?django如何在没有映射(staticfiles.json)且没有原始文件的情况下知道哈希?
我\xc2\xb4m猜测Django首先从S3获取staticfiles.json文件,然后从该文件读取映射。
\n\n即使您的静态文件夹位于.gitignore中,当您运行.gitignore 时manage.py collectstatic
,您也是在告诉 Django 查看静态文件夹,因此它知道必须从那里获取它们。不要\xc2\xb4t忘记你不\xc2\xb4t使用上传静态文件夹中的内容git pull
,你使用manage.py collectsatic
。
归档时间: |
|
查看次数: |
595 次 |
最近记录: |