gpt4 book ai didi

javascript - 如何在静态文件中使用django模板语法

转载 作者:行者123 更新时间:2023-11-30 14:10:53 24 4
gpt4 key购买 nike

有很多关于在 Django 模板中包含静态文件的文档。但是,我找不到任何关于如何在静态文件中使用 Django 模板语法的信息。

我有一个 html 文件,在标签之间包含 javascript,如下所示:

var nodes = JSON.parse('{{nodes|safe}}');

我现在将所有 javascript 移动到我正在服务的静态 .js 文件中。它像这样包含在 HTML 文件中:

<script src="{% static 'citator/analysis.js' %}" type="text/javascript"></script>

除了 .js 文件中使用 Django 模板语法的部分外,一切都运行良好。

我的问题是,如果 javascript 不直接在模板中,而是作为静态文件导入,是否有办法在 javascript 中使用 Django 模板语法?或者我是否必须在模板中获取上下文数据,然后将其传递给静态文件中的函数?

最佳答案

不幸的是,没有任何 Django 功能允许您直接执行此操作。阻止这种情况的根本问题是上下文被传递到 View 中 render() 函数中提到的模板(或行为相同的任何其他函数,例如 render_to-response ())。这里最好的选择是在模板文件中使用内联 js。可以理解,为了保持代码整洁,您不希望模板中包含 js 函数。所以,像这样获取你想要的数据:

<script>
var nodes = JSON.parse('{{nodes|safe}}');
</script>

在这段代码之后导入你的静态 js 文件,你应该可以开始了,保持你的代码干净和模块化。

关于javascript - 如何在静态文件中使用django模板语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54495148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com