django 静态文件在运行时不会更新
django static files aren't updating while live
自从我使用 django 使我的网站上线以来已经有一段时间了,所以我决定对一些 css 和 js 文件进行一些更改。
修改后,none 的新修改已经更新到网站了。我知道文件可能已被缓存,但我读到有一种技术可以通过在文件路径后添加 ?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 似乎丢失了,所以我决定回到我原来的 link.
有谁知道如何将添加 ?version=1
的解决方案应用到我的案例中?
我是 css 和 html 的新手,如果有任何帮助,我将不胜感激!
尝试使用 "empty cache and hard reload"(在浏览器中打开开发工具 (Google Chrome) 右键单击刷新按钮)确认问题是由缓存引起的。如果是这样,并且您的更改在硬重新加载后出现,请设置 ManifestStaticFilesStorage https://docs.djangoproject.com/en/2.0/ref/contrib/staticfiles/#manifeststaticfilesstorage 来处理此问题。它会将文件的哈希值添加到它的名称中,因此文件内容的任何更改都会导致名称更改,浏览器将下载新文件。
我的问题的解决其实很简单!
我不知道我需要 运行 python3 manage.py collectstatic
,以便在生产环境中查看静态文件中的更改。
所以是的,下次您对静态文件进行任何更改并希望在您的网站上看到更新时,您必须 运行 collectstatic。
希望这对像我一样困惑的人有所帮助!
自从我使用 django 使我的网站上线以来已经有一段时间了,所以我决定对一些 css 和 js 文件进行一些更改。
修改后,none 的新修改已经更新到网站了。我知道文件可能已被缓存,但我读到有一种技术可以通过在文件路径后添加 ?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 似乎丢失了,所以我决定回到我原来的 link.
有谁知道如何将添加 ?version=1
的解决方案应用到我的案例中?
我是 css 和 html 的新手,如果有任何帮助,我将不胜感激!
尝试使用 "empty cache and hard reload"(在浏览器中打开开发工具 (Google Chrome) 右键单击刷新按钮)确认问题是由缓存引起的。如果是这样,并且您的更改在硬重新加载后出现,请设置 ManifestStaticFilesStorage https://docs.djangoproject.com/en/2.0/ref/contrib/staticfiles/#manifeststaticfilesstorage 来处理此问题。它会将文件的哈希值添加到它的名称中,因此文件内容的任何更改都会导致名称更改,浏览器将下载新文件。
我的问题的解决其实很简单!
我不知道我需要 运行 python3 manage.py collectstatic
,以便在生产环境中查看静态文件中的更改。
所以是的,下次您对静态文件进行任何更改并希望在您的网站上看到更新时,您必须 运行 collectstatic。
希望这对像我一样困惑的人有所帮助!