如何在django模板中获取带有javascript变量的数组元素

how to get an array element with javascript variable in django template?

本文关键字:javascript 变量 数组元素 获取 django      更新时间:2023-09-26

我正在创建一个滑块,所以我想在Django中获得模板数组的元素。我的HTML文件是:

<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>

我想在它的图像发生变化时更改名称。我的jQuery文件是:

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 }}");

但是在CCD_ 1中没有识别出索引。我能做什么?

问题:

由于JS文件是静态的,所以不能将Django变量放入其中

解决方案:

解决这种情况的一种方法是将js所需的Django变量"存储"在html中。之后,您可以获取它并在您的js脚本中使用它!

某些代码:

<script type="text/javascript">
  // "store" variables from Django in the body
  $('body').data('name_index', {{mostVisited_names.index}});
</script>

然后在JS中,从数据图中获取值:

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'));