html - django 静态文件在直播时不会更新
问题描述
因此,自从我使用django使我的网站上线以来已经有一段时间了,所以我决定对一些 css 和 js 文件进行一些更改。
修改它们后,尚未将任何新更改更新到网站。我知道文件可能已被缓存,但我读过有一种技术可以通过?version=x
在文件路径后添加来强制服务器更新文件。
例如:<link rel="stylesheet" type="text/css" href="style.css?version=1">
问题是使用django时,我没有完全像那样引用静态文件,而是不得不使用一些jinja 逻辑。
例子:<link rel="stylesheet" type="text/css" href="{% static mainpage/HomePage.css' %}" />
我尝试添加?version=1
到我的文件路径的末尾,但是在我在浏览器上查看网站后,一些 css 似乎丢失了,所以我决定回到我原来的链接。
有谁知道我如何应用添加?version=1
到我的案例的解决方案?我对 css 和 html 很陌生,如果有任何帮助,我将不胜感激!
解决方案
尝试使用“空缓存和硬重新加载”(在浏览器中打开开发工具(谷歌浏览器)右键单击刷新按钮)来确认问题是由缓存引起的。如果是这样,并且您的更改在硬重新加载后出现,请设置 ManifestStaticFilesStorage https://docs.djangoproject.com/en/2.0/ref/contrib/staticfiles/#manifeststaticfilesstorage来处理此问题。它将文件的哈希添加到其名称中,因此文件内容的任何更改都会导致名称更改,并且浏览器将下载新文件。
推荐阅读
- pytest - 为什么 pytest 夹具返回生成器而不是值?
- android - React-Native:错误类型 3:Activity 类不存在
- scala.js - node.js 抛出“Buffer.alloc 不是函数”错误
- django - 如何向 Django DayArchiveView 添加上下文/附加字典
- javascript - 如何在函数 React 中从 onClick 返回 ID
- javascript - 在 Javasript 中创建模拟时钟时秒针停止移动
- python - Python 正则表达式将多个匹配项映射到一个
- anylogic - Anylogic:叉车在节点前卡住
- javascript - 如何克隆表单并将其输入的 id 更改 2,3 次?
- c# - EFCore 中的表关系不包含在查询中