在外部JavaScript中使用Django模板标签

3

我在我的HTML页面中包含了一个JS文件(例如:application.js),但是我无法在该JS文件中使用Django模板标签,有没有一种方法可以直接在外部JS文件中使用Django模板标签?

3个回答

6

只有当您像模板一样解析JS时才能实现。

如果您需要在JS中使用某些变量(例如STATIC_URL),可以使用它。

<script>window.staticUrl = "{{ STATIC_URL }}"</script>

或者

<html data-static-url="{{ STATIC_URL }}">

在您的基础模板中。

2
不需要,只需将application.js文件包含为:
<script src="application.js"></script>

Django的模板加载器将直接呈现这个HTML代码。Django模板标签/过滤器仅在模板页面上呈现,不适用于外部资源。
您可以尝试将JavaScript文件作为文本加载到模板中。因此,您可以将文件中的代码“粘贴”到模板中,而非引用外部文件。

1

您可以将JavaScript作为动态页面提供。创建新的Django视图来提供它(或使用django.views.simple.direct_to_template),并使用模板与您实际的JavaScript内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接