Flask库上的ValueError

时间:2019-01-10 13:39:24

标签: python html flask

im试图从python到html获取数据

PYTHON app.py

from flask import Flask
app = Flask(__name__)

@app.route('/html.html')
def test_route():
   data=["tony","mika"]
   return render_template('html.html', data=data)

HTML html.html

<!DOCTYPE html>
<html>
<head>
    <title>test</title>
</head>
<body>
  {% for item in data %}
  <tr>
      <td>{{item[0]}}</td>
      <td>{{item[1]}}</td>
  </tr>
  {% endfor %}
</body>
</html>

它应该显示名称,但我不知道为什么它不起作用

3 个答案:

答案 0 :(得分:0)

尝试将正文更改为

  

<body> {% for item in data %} <tr> <td>{{item}}</td> </tr> {% endfor %} </body>

答案 1 :(得分:0)

您的for循环应如下所示:

<tr>
  {% for item in data %}
    <td>{{item}}</td>
  {% endfor %}
</tr>

由于要遍历数据数组,因此item表示数组中的单个项目。

答案 2 :(得分:0)

第一个错误是您尚未导入render_template:

from flask import Flask,render_template
app = Flask(__name__)

@app.route('/html.html')
def test_route():
   data=["tony","mika"]
   return render_template('html.html', data=data)

app.run()

现在,对应该位于模板文件夹中的html.html文件进行一些编辑。

目录结构

app.py
templates--> html.html

html.html文件:

<!DOCTYPE html>
<html>
<head>
    <title>test</title>
</head>
<body>
  {% for item in data %}
  <tr>
      <td>{{item}}</td>
  </tr>
  {% endfor %}
</body>
</html>

现在运行您的代码并检查URL http://127.0.0.1:5000/html.html