我是一个真正使用 Flask 框架(通常是客户端-服务器)的菜鸟,所以请耐心等待。我有一个基本的 HTML 模板文件,其中包含一些 Flask(使用 {% ... %} 表示法)从 python 文件传递 JSON 对象。现在,作为一个简单的健全性检查,它输出的内容motifs
(数组的数组)作为单独的行(<li>
)在无序列表中(<ul>
).
我想要它做的是使用motifs
JavaScript 脚本中的数组数组作为我正在尝试执行的可视化的数据。我尝试将 Flask 脚本混合到 JavaScript 中<script>
迭代出 JavaScript 数组的标签,但收到一个错误,该脚本标签不喜欢 Flask 表示法(Uncaught SyntaxError: Unexpected token }
。那么如何让 Flask 脚本提取数组以便在 JavaScript 脚本中使用呢?我意识到我可能误解了这里的一些事情(也许是 JSON 的本质?)。我将不胜感激任何朝着正确方向的推动。谢谢!
下面我将我的 html 模板与创建无序列表的 Flask 脚本一起包含在内,我还包含了我在 a 中使用 Flask 脚本的失败尝试<script>
标签。那么如何在 JavaScript 中成功访问数组(JSON)呢?
index.html(模板文件 - 为清楚起见,此处进行了简化):
<!DOCTYPE html>
<head>
<title></title>
</head>
<body>
<p>Here are some motifs:</p>
<ul>
{% for motif in motifs %}
<li>{{motif}}</li>
{% endfor %}
</ul>
<script>one of a few js scripts</script>
</body>
</html>
上述文件的输出如下所示(缺少未复制的要点):
以下是一些主题:
{'基因1':1,'基因2':1,'基因3':7,'基因4':7,'基因5':1}
{'基因1':7,'基因2':4,'基因3':10,'基因4':5,'基因5':2}
{'基因1':7,'基因2':1,'基因3':8,'基因4':5,'基因5':8}
{'基因1':2,'基因2':4,'基因3':6,'基因4':1,'基因5':9}
{'基因1':3,'基因2':8,'基因3':2,'基因4':7,'基因5':8}
{'基因1':1,'基因2':5,'基因3':1,'基因4':9,'基因5':5}
{'基因1':3,'基因2':5,'基因3':6,'基因4':10,'基因5':9}
{'基因1':2,'基因2':10,'基因3':7,'基因4':5,'基因5':10}
{'基因1':5,'基因2':5,'基因3':10,'基因4':10,'基因5':5}
{'基因1':10,'基因2':4,'基因3':4,'基因4':6,'基因5':4}
下面是我尝试访问失败的情况<script>
Flask 传递的数组(JSON 对象):
<script>
var motifValuesArray = [];
var index = 0; // an iterator to assign indexes in the javascript array
{% for motif in motifs %}
motifValuesArray[index] = {motif};
console.log(motifValuesArray[index]);
{% endfor %}
</script>