在外部JavaScript中使用django模板标记

时间:2012-02-18 07:41:33

标签: javascript django

我在我的html页面中包含了一个js文件(例如:application.js)但我无法在js文件中使用django模板标签,有没有办法在外部js文件中直接使用django模板标签?

3 个答案:

答案 0 :(得分:4)

只有你像模板一样解析JS。

如果你需要JS中的一些变量(比如STATIC_URL),可以使用

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

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

在您的基本模板中

答案 1 :(得分:2)

不,如果您将application.js文件包含为

,则不会
<script src="application.js"></script>

Django的模板加载器将把它呈现给html代码的最终输出。 Django模板标签/过滤器仅在模板页面上呈现 - 它们不适用于外部源。

您可以尝试将JavaScript文件作为文本加载到模板中。因此,您不必引用外部文件,而是将文件中的代码“粘贴”到模板中。

答案 2 :(得分:1)

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