Django没有反映Javascript文件的更新?

use*_*661 12 python django

我的文件static夹中有javascript文件.Django发现并加载它们非常好,所以我认为我的static选项配置没有任何问题.但是,有时当我对.js文件进行更改并保存时,使用它的Django模板不会反映这些更改 - 使用浏览器检查javascript会在上次保存之前显示javascript.重新启动服务器什么都不做,但重新启动计算机有时可以解决问题.我没有任何明确处理缓存的代码.有没有人经历过这样的事情?

dm0*_*514 19

我相信你的浏览器正在缓存你的js

您可以刷新浏览器或清除浏览器缓存吗?

在chrome control + f5或shift + f5上

相信 firefox它是control + shift + r


nmg*_*eek 8

由于您正在编辑JavaScript文件并在浏览器中观察更改,因此我假设您正在积极开发Django应用程序,并且可能正在使用Django的开发运行服务器.有一个比清除浏览器缓存和刷新更好的解决方案.如果您运行支持livereload协议的watcher实用程序,那么每当您更改任何静态文件时,浏览器都会自动刷新.

django-livereload-server蟒包提供了漂亮的解决方案.安装它:

$ pip install django-livereload-server

添加'livereload.middleware.LiveReloadScript'MIDDLEWARE_CLASSESsettings.py中.

然后跑

$ ./manage.py livereload

在启动runserver之前.

可以在django-livereload-server github站点上找到更多文档