【问题标题】:how to get an array element with javascript variable in django template?如何在 django 模板中获取带有 javascript 变量的数组元素?
【发布时间】:2016-07-10 19:24:50
【问题描述】:

我正在创建一个滑块,所以我想在 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 }}");

但在{{ mostVisited_names.index }} 中无法识别索引。 我该怎么办?

【问题讨论】:

标签: javascript jquery django


【解决方案1】:

问题:

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

解决方案:

解决这种情况的一种方法是在 html 中“存储”js 所需的 Django 变量。之后你可以抓取它并在你的 js 脚本中使用它!

一些代码:

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

然后在你的 JS 中,从 datamap 中获取值:

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

【讨论】:

  • 在这种情况下 index 不是 js 变量,我想在 {{ , }} 中使用 js 变量,但我可以t. i have tried filters in django but in this case i must pass variables in {{ , }} too, so i cant 在其中使用 js 变量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 2013-07-23
  • 2016-05-30
  • 2014-04-13
  • 2020-07-23
  • 2021-06-14
相关资源
最近更新 更多