admin管理员组文章数量:1279246
In my Django project the application my_app has a template which references a javascript static file:
<script src="{% static 'my_app/my_script.js' %}"></script>
Once I installed my_script.js in my_app/templates/my_app, everything seemed to work. At some point I overwrote my_script.js with a different script, such that my_script.js has a different content now.
However, when I load my_app with my browser, it loads the old my_script.js, although it does not exist anymore. How can I resolve it? Thanks.
In my Django project the application my_app has a template which references a javascript static file:
<script src="{% static 'my_app/my_script.js' %}"></script>
Once I installed my_script.js in my_app/templates/my_app, everything seemed to work. At some point I overwrote my_script.js with a different script, such that my_script.js has a different content now.
However, when I load my_app with my browser, it loads the old my_script.js, although it does not exist anymore. How can I resolve it? Thanks.
Share Improve this question asked Jul 21, 2013 at 22:05 jazzbluejazzblue 2,4375 gold badges41 silver badges63 bronze badges3 Answers
Reset to default 7I often use ?v=00001
or any define number to force clear cache in browser. So in your case it could be:
<script src="{% static 'my_app/my_script.js?v=00001' %}"></script>
Or:
<script src="{% static 'my_app/my_script.js' %}?v=00001"></script>
Next time you change the script, increase the number to 00002. Of course there are many ways to do this but I still prefer this method.
You can add a cache-busting ?get=parameter. I like to define a {% statichash %} template tag that reads the file and appends a hash of the file contents as a get param. This is similar, uses the file's modified time instead of hash, but same idea:
https://bitbucket/ad3w/django-sstatic/src/4401a4bc3058618dfc2eafaee6a23d287a99ede5/sstatic/templatetags/sstatic.py?at=default
I fixed it by including writing code to refresh the browser. This way, it will always get the latest updated static files instead of reading from its cache.
There's 3 way to do this.
- Manually refresh the page
Using Windows OS with browsers Google Chrome or IE9, hit (CTRL + F5)
Refresh the page at certain time intervals (in this example, browser refreshes every 3 seconds)
<head>
<meta http-equiv="refresh" content="3" >
</head>
Refresh the page when a user clicks a button
<form>
<INPUT TYPE="button" onClick="history.go(0)" VALUE="Refresh">
</form>
本文标签: javascriptDjango static files are not updatedStack Overflow
版权声明:本文标题:javascript - Django static files are not updated - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741298978a2370981.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论