如何在django模板中获取带有javascript变量的数组元素?
我正在创建一个滑块,所以我想在Django中获得模板数组的一个元素。 我的HTML文件是:如何在django模板中获取带有javascript变量的数组元素?,javascript,jquery,django,Javascript,Jquery,Django,我正在创建一个滑块,所以我想在Django中获得模板数组的一个元素。 我的HTML文件是: <div id="sideBar_mostVisited_control"> <a href=""> <p> {{ mostVisited_names.0 }} </p> </a> <div> <p> 1
<div id="sideBar_mostVisited_control">
<a href="">
<p>
{{ mostVisited_names.0 }}
</p>
</a>
<div>
<p>
1
</p>
</div>
<button type="button" id="mostVisited_arrowRight">
<img src="{% static 'icons/base/arrowRight.png' %}" id="mostVisited_arrowRight">
</button>
<button type="button" id="mostVisited_arrowLeft">
<img src="{% static 'icons/base/arrowLeft.png' %}" id="mostVisited_arrowLeft">
</button>
</div>
<div id="sideBar_mostVisited_images">
<div>
{% for image in mostVisited_images %}
<img src="{{ image }}">
{% endfor %}
</div>
</div>
但在{{mostVisited_names.index}
中无法识别索引。
我能做什么?问题:
因为JS文件是静态的,所以不能将Django变量放入其中
解决方案:
解决这种情况的一种方法是在html中“存储”js所需的Django变量。之后,您可以获取它并在js脚本中使用它
一些代码:
也可能重复:我可以在内联js中获取单个变量,但无法获取传递数组的元素。在这种情况下,index不是js变量,我想在{,}中使用js变量,但我可以
t。我在django中尝试过过滤器,但在本例中,我也必须在{,}中传递变量,这样我就可以
t在其中使用js变量。
var index=$('#sideBar_mostVisited_control div p').html();
$('#sideBar_mostVisited_control div p').html(index+1);
$('#sideBar_mostVisited_control a p').html("{{ mostVisited_names.index }}");
<script type="text/javascript">
// "store" variables from Django in the body
$('body').data('name_index', {{mostVisited_names.index}});
</script>
var index=$('#sideBar_mostVisited_control div p').html();
$('#sideBar_mostVisited_control div p').html(index+1);
$('#sideBar_mostVisited_control a p').html($('body').data('name_index'));