我的static
文件夹中有javascript文件。 Django发现并加载它们非常好,所以我认为static
选项的配置没有任何问题。但是,有时当我对.js
文件进行更改并保存时,使用它的Django模板不会反映这些更改 - 使用浏览器检查javascript会在上次保存之前显示javascript。重新启动服务器什么都不做,虽然重新启动计算机有时解决了这个问题。我没有任何明确处理缓存的代码。有没有人经历过这样的事情?
答案 0 :(得分:16)
我相信您的浏览器正在缓存您的js
您可以刷新浏览器或清除浏览器缓存吗?
on chrome control + f5或shift + f5
我相信在firefox上它是control + shift + r
答案 1 :(得分:6)
由于您正在编辑JavaScript文件并在浏览器中观察更改,因此我假设您正在积极开发Django应用程序,并且可能正在使用Django的开发运行服务器。有一个比清除浏览器缓存和刷新更好的解决方案。如果您运行支持livereload协议的watcher实用程序,那么每当您更改任何静态文件时,浏览器都会自动刷新。
Semaphore.signal()
python包提供了一个漂亮的解决方案。安装它:
django-livereload-server
在settings.py。
中将$ pip install django-livereload-server
添加到'livereload.middleware.LiveReloadScript'
然后运行
MIDDLEWARE_CLASSES
在启动runserver之前。
找到更多文档答案 2 :(得分:0)
对我来说,在 Chrome 中打开 隐身模式 让浏览器显示我的 .js
静态文件中最近的更改。