自从我使用 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很陌生,我会非常感谢任何帮助!
答案 0 :(得分:0)
尝试使用&#34;清空缓存和硬重载&#34; (右键单击刷新按钮,在浏览器(谷歌浏览器)中使用开放式开发工具)确认问题是由缓存引起的。如果是这样,并且在重新加载后显示您的更改,请设置ManifestStaticFilesStorage https://docs.djangoproject.com/en/2.0/ref/contrib/staticfiles/#manifeststaticfilesstorage来处理此问题。它会将文件的哈希值添加到它的名称中,因此文件内容的任何更改都将导致名称更改,浏览器将下载新文件。
答案 1 :(得分:0)
我的问题的修复实际上非常简单!
我不知道我需要运行python3 manage.py collectstatic
,以便在生产中看到静态文件中的更改。
是的,下次您对静态文件进行任何更改,并希望在您的网站上看到更新时,您必须运行 collectstatic 。
希望这能帮助那些和我一样困惑的人!