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

时间:2013-03-26 15:51:01

标签: python django

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

3 个答案:

答案 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之前。

可以在the django-livereload-server github site

找到更多文档

答案 2 :(得分:0)

对我来说,在 Chrome 中打开 隐身模式 让浏览器显示我的 .js 静态文件中最近的更改。