首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django Whitenoise缓存破坏控制

Django Whitenoise缓存破坏控制
EN

Stack Overflow用户
提问于 2016-06-27 12:05:08
回答 1查看 1.3K关注 0票数 1

我已经运行了manage.py collectstatic和Whitenoise已经对所有的静态文件进行了后处理。如果我想更改/更新一些文件,例如我的.css样式表,我不太确定现在该怎么办?每次文件被更改时,我应该运行manage.py collectstatic吗?我之所以这么问是因为我的开发服务器需要大约45分钟才能完成这个任务,我不确定这是否正常,因为我只有550个静态文件,250 my总计。

其次,由于Whitenoise不支持提供媒体文件,所以我使用了亚马逊CloudFront。如何控制那些用户上传的媒体文件缓存中断?这对我来说很重要。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-29 09:26:39

是的,每次文件更改时都需要运行collectstatic

拥有250 of的静态文件是非常不寻常的。另外,因为Django的缓存破坏创建了每个文件的副本,每个文件的名称都是唯一的,因此每个文件将有两个副本,因此已经有500 of了。在此基础上,WhiteNoise将创建每个文件的gzip压缩版本,因此您可以使用1GB的文件。

加快这个过程的一个快速方法是告诉WhiteNoise不要压缩您的延拓文件,这可以通过将.pdf添加到延拓设置中来完成。

听起来你的小册子最好是作为用户媒体存储,而不是静态资产。

要控制缓存,您应该让代码在上传时为每个文件生成一个唯一的名称(添加一个随机字符串作为文件名的前缀就可以了)。然后,您可以在这些文件上设置缓存头,只要您愿意。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38053532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档