所以我要在jQuery脚本中包含模板,并在其中传递一些值的列表。
{% block content %}
{% include 'path/foo.html' with key=val_list %}
{% endblock %}
这是foo.html
{% load staticfiles %}
<script src="{% static 'jquery-ui/jquery-ui.js'%}"></script>
<script>
var availableTags = [
"some",
"values",
"here"
];
</script>
我想用密钥列表中的可用标签填充。我可以使用以下命令在脚本之前访问该列表中的元素:
{% for k in key %}
{{ k }}
{% endfor %}
但是无法在脚本中执行此操作。我想我知道为什么,但是我不知道如何进行这项工作。
答案 0 :(得分:0)
Django的2.1版将通过一个新的json_script
过滤器使此操作变得更容易,但是如果您限于2.0版或更低版本,则必须手动进行处理。您需要记住的是,模板呈现是在客户端浏览器接收呈现的文档并执行任何存在的JavaScript之前发生的。您可以在script
块中使用Django模板语言,如下所示:
<script>
var availableTags = [
{% for k in key %}
"{{ k }}",
{% endfor %}
];
</script>
它将产生此内容,并由浏览器进行解析:
<script>
var availableTags = [
"some",
"values",
"here",
];
</script>