我在访问Flask代码中声明的python列表的html文件中的内容时遇到问题。这是简短的详细信息。
FLASK代码:
class TestSuiteForm(FlaskForm):
TestCases = ['Check Red LED Status', 'Check Red2 LED Status', 'Check Red3 LED Status']
NumOfTestCases = len(TestCases)
@app.route("/offlineTest")
def offlineTest():
form = TestSuiteForm()
return render_template("offlineTest.html", title='Offline Testing', form=form)
if __name__ == "__main__":
app.run(debug=True)
HTML代码:添加有问题的代码段。
<p >
<h4>Test Cases2</h4>
<table id="testcaseTable2" style="width:50%"> </table>
</p>
<script language="javascript" type="text/javascript">
var text = "";
text = "<tr> <th>Sr num </th> <th>Test Case Name </th> <th>Select/Deselect</th> </tr>"
for (var i = 0; i < {{form.NumOfTestCases}}; i++)
{
text += '<tr>'
text += '<td>' + [i+1] + '</td>'
text += '<td>"' + {{form.TestCases[i]}} + '"</td>' //Not working; output NaN
text += '<td><input type="checkbox"/> </td> </tr>'
}
document.getElementById("testcaseTable2").innerHTML = text
</script>
我无法访问{{form.TestCases [i]}}数据,但是如果我用0,1,2硬编码i,它会提供正确的数据。 请让我知道问题所在。我相信它是由于字符串连接而发生的,但不确定如何解决它。我真的是网页设计的新手,所以如果这是一个愚蠢的错误,请原谅我。
答案 0 :(得分:0)
使用Jinja for
循环来建立表。
<table id="testcaseTable2" style="width:50%">
{% for test_case in form.TestCases %}
<tr>
<td>{{ loop.index + 1 }}</td>
<td>{{ test_case }}</td>
<td><input type="checkbox"/> </td>
</tr>
{% endfor %}
</table>