如何将js脚本从html连接到Django static



我有一个前端的Django新项目,最初根本不是为Django编写的,所以我无法连接这个脚本:

<script>
document.body.appendChild(document.createElement('script')).
src='js/main_script.js?r='+Math.floor(Math.random()*99999999999999999999);
</script> 

文件js/main_script.js位于静态文件夹中,其他js脚本将按预期加载。据我所知,这个脚本出于某种原因阻止了缓存。

那么,我在这部分遗漏了什么?提前感谢的任何澄清

您应该删除那些+Math.floor(Math.random()*99999999999999999999)部分,并使用适当的解决方案来控制静态文件缓存

https://docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/#manifeststaticfilesstorage

UPD回应以下评论

假设我们有

STATIC_ROOT = '/var/web/chick_static/'
STATIC_URL = '/chick-static/'

然后当我们使用静态模板标签Django从转换

<script src="{% static 'js/main_script.js' %}"></script>

<script src="/chick-static/js/main_script.js"></script>

此外,Django将在/var/web/chick_static/目录中查找文件。

最新更新