javascript - 如何将js脚本从html连接到Django静态

标签 javascript python django

我有一个带有前端的新 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()*999999999999999999999) 部分,并使用正确的解决方案进行静态文件缓存控制

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

UPD 回应以下评论

假设我们有

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

然后当我们使用static template tag时Django 转变
来自

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

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

Django 还将在 /var/web/chick_static/ 目录中查找文件。

关于javascript - 如何将js脚本从html连接到Django静态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53239828/

相关文章:

javascript - 在使用 Html/WinJS 开发的 Metro 应用程序中实现日志记录

python - 在 Blender 中使用 OpenCV

django - 请求之间的 Form/ModelForm 实例

python - Django - 从联系表单发送电子邮件时 SMTPSenderRefused

python - Django:捕获 RequestDataTooBig 异常

javascript - phpstorm javascript如何显示对象没有功能错误

javascript - 定义javascript变量的正确方法?

用于自定义序列类型的 Python re

javascript - jQuery 点击向下滑动特定的 div

python - 使用 while 循环查找最小的用户输入数