【问题标题】:In my Django-project how can I dynamically append a script which is located in the static folder to the head-section?在我的 Django 项目中,如何将位于静态文件夹中的脚本动态附加到头部?
【发布时间】:2020-10-28 09:25:07
【问题描述】:

在我的 Django 项目中,我想将 script-tag 动态附加到 head-部分。我要附加的脚本位于static-文件夹中。 问题是我不知道如何在 javascript 中引用 static-文件夹,或者这是否可行。

这是我的 Javascript 的(一部分):

jQuery( window ).on( "load", () => {
    const script = document.createElement("script");
    script.src = "{% static 'js/myScript.js' %}";
    document.head.appendChild(script);
});

myScript.js 可能如下所示:

console.log("This is myScript")

这当然行不通。在控制台中我得到:

GET http://127.0.0.1:8000/%7B%%20static%20'js/myScript.js'%20%%7D net::ERR_ABORTED 404(未找到)。

有没有办法在 javascript 中引用 static-文件夹?

【问题讨论】:

  • 你可以将这个 JS 的 sn-p 嵌入到你的模板中,然后静态标签将被按预期解析。你的 JS 文件来自哪里?如果它也是静态的,你可能会使用相对路径,所以 simpoy script src="myScript.js" ?
  • 我无法得到建议,将文件放在同一个文件夹中并使用相对路径来工作。将它放在模板中可能会起作用,但这不是我的首选解决方案。

标签: javascript django dynamic appendchild static-files


【解决方案1】:

我通过更改找到了解决方案:

script.src = "{% static 'js/myScript.js' %}";

进入:

script.src = "/static/js/myScript.js";

就这么简单!

【讨论】:

    猜你喜欢
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    • 2019-12-19
    • 2020-03-10
    • 2019-05-28
    • 2014-10-31
    • 2022-01-12
    相关资源
    最近更新 更多