首页 > 解决方案 > 是否可以使用 Javascript 变量作为 Flask 模板中 Python 列表的索引?

问题描述

最后一行是pic_listpython列表。是否可以使用 Flask Jinja2 模板中的 javascript 变量来索引 Python 列表?

function moveright(cur_pos, list_length) {
  if (current_position !== -9999) {
    current_position = cur_pos;
  }
  if (current_position < list_length - 1) {
    current_position = current_position + 1;
  } else {
    current_position = 0;
  }
  document.getElementById('image').src = {
    {
      pic_list[current_position]
    }
  };
}

标签: javascriptpythonflaskjinja2

解决方案


我不确定我是否理解这个问题。为什么不尝试通过将集合转换为 JSON 字符串来将 Python 列表传递给 JavaScript?

1.使用json.dumps()方法将列表转换为JSON字符串。

@app.route('/test')
def custom_view():
    pic_list = ['banana', 'orange', 'apple']
    return render_template('index.html', data=json.dumps(pic_list))

2.将JSON字符串传递给模板

<script>
    console.log({{ data|safe }});
</script>

如果集合包含用户提供的数据,您应该避免此过程。


推荐阅读