如何在 django 模板脚本中传递静态 js 文件?

Posted

技术标签:

【中文标题】如何在 django 模板脚本中传递静态 js 文件?【英文标题】:How to pass static js file in django template script? 【发布时间】:2021-07-07 04:50:33 【问题描述】:

我想将代码中存在的静态文件json加载到js中以托管swagger。

我的 index.html

<HTML>
<head>
% load static %
</head>
<body>
<script src="% static "js/script1" %"></script>
<script>
var json_contents = // Use the static json `js/json1.json` in here?
</script>
</body>
</html>

以上怎么做?

【问题讨论】:

这能回答你的问题吗? Using JSON in django template ***.com/questions/6234242/… 【参考方案1】:

你拼错了static模板标签

% load static % <!-- not "staticfiles" -->
<!DOCTYPE html>
<HTML>
  <body>
  <script src="% static "js/script1.js" %"></script> <!-- missed .js extention -->
  <script>

    async function load() 
        let url = '% static "js/json1.json" %';
        let json_contents = await (await fetch(url)).json();
        console.log(json_contents);
    
    load();

  </script>
  </body>
</html>

Documentation: Configuring static files

【讨论】:

知道了。但我要问的问题不是那个。它是如何在脚本中包含静态 json1.json。不过,我会改变问题 你在用jquery吗? 没有。我目前正在使用香草 javascript 这个 JSON 文件是驻留在本地服务器还是外部服务器中? 它存在于静态文件夹中

以上是关于如何在 django 模板脚本中传递静态 js 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在单独的 js 文件中使用访问 django 模板变量,而不是在同一个 html 文件中包含小脚本块?

Django,如何将变量从 Django 管理员传递到模板?

将 django 模板变量传递给 js 数据表

如何告诉我的 django 模板静态文件(dajax.core.js)在哪里?

Django将Python对象从视图传递到模板中的Javascript脚本

如何在 django 中将静态添加到我的脚本中