【发布时间】:2022-01-11 16:27:46
【问题描述】:
我正在使用 HTML/JS/Python/Flask 创建一个图表,这个折线图的标签应该来自 Python 中的一个列表,然后我会在 Javascript 上使用它。
到目前为止,我还无法在 Javascript 中成功地迭代该列表,我的 HTML 上的相同字符串是 4 倍。
我正在使用与此类似的代码:
start.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/', methods = ['GET','POST'])
def home():
data = ['ABC','DEF','GHI','JKL']
return render_template('index.html', data = data, len = len(data))
if __name__ == '__main__':
app.run(debug=True)
index.html
<body>
<p id='test'></p>
<script>
let text = '';
for (i=0; i<'{{len}}'; i++){
text += '{{data | tojson}}[i]' + '<br>'
}
console.log(text)
document.getElementById('test').innerHTML = text;
</script>
</body>
我将其作为输出:
['ABC','DEF','GHI','JKL'][i]
['ABC','DEF','GHI','JKL'][i]
['ABC','DEF','GHI','JKL'][i]
['ABC','DEF','GHI','JKL'][i]
而我希望得到这个:
ABC
DEF
GHI
JKL
如果我改变这个,发送到 Javascript 的数据是以文本而不是列表的形式发送的:
text += '{{data | tojson}}[i]' + '<br>'
到这里:
text += '{{data | tojson}}'[i] + '<br>'
输出变成:
[
"
A
B
控制台输出为:
[<br>"<br>A<br>B<br>
有人知道如何正确处理这个问题,以便我得到正确的结果吗?
【问题讨论】:
标签: javascript python list flask iteration