在html表的烧瓶中导入列表

时间:2020-10-08 16:00:03

标签: python html flask

我在访问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"/> &nbsp;</td> </tr>'
      }
      document.getElementById("testcaseTable2").innerHTML = text
   </script>

我无法访问{{form.TestCases [i]}}数据,但是如果我用0,1,2硬编码i,它会提供正确的数据。 请让我知道问题所在。我相信它是由于字符串连接而发生的,但不确定如何解决它。我真的是网页设计的新手,所以如果这是一个愚蠢的错误,请原谅我。

1 个答案:

答案 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"/> &nbsp;</td> 
    </tr>
  {% endfor %}
</table>