我在 Django 模板中引用了一个 JavaScript 文件:
<script src="{% static 'js/login.js' %} "></script>
我对那个js文件进行了一些更改。然后,我刷新页面,但是我看不到更改发生。
如果我从文件中删除JavaScript并将其放入HTML中,则它可以正常工作,但是如果我尝试使用外部js文件,则不行。我已经尝试关闭服务器并多次运行runserver,还尝试从Firefox更改为Chrome。这完全没有意义。请帮助我理解,虽然我可以在HTML中包含所有js,但我无法以正常方式完成它让我烦恼。
关于此错误的更多详细信息(我发现的最奇怪的事情):
JavaScript大致如下:
old_sentence = "Dig that hole, forget the sun" // this is what I want to change
$("#jqselector").text(old_sentence)
new_sentence = "Run, rabbit, run" // this is the new sentence, it just won't show up.
所以,我更改了js并重新启动了服务器,但html仍然显示旧句子。然后我删除了对
login.js
文件的引用,并将所有js放在HTML的script标签中,当然,新的句子出现了。然后我包含了login.js
文件,注释掉html中的js,但我删除了login.js
文件中的所有内容,使其成为空文件...但是旧句子仍然出现。因此,旧的
login.js
文件必须被缓存到我不知道的某个地方。然后我打开Chrome再次尝试,仍然存在同样的问题。可能是什么原因呢?有没有选项强制Django刷新静态文件?我认为重新启动服务器就足够了。我需要重启电脑吗?
python manage.py collectstatic
吗?听起来像是你正在修改工作副本中的JavaScript文件,而它引用了已收集但过期的文件。 - cziemba