Как я могу отобразить таблицу данных в приложении колбу? - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь отобразить таблицу данных в моем приложении фляги. Вот мой пример для простого отображения набора данных iris.

Ниже приведен мой app.py

from flask import Flask, render_template
import seaborn as sns
import pandas as pd

iris = sns.load_dataset('iris')

app = Flask(__name__)

@app.route('/')
def example():
    return render_template("example.html", value=iris)

if __name__ == '__main__':
    app.run(debug=True)

Вот пример .html

<!doctype html>
<html>
  <head></head>
  <body>   
    <table>
      <thead>
        <tr>
          <th>sepal_length</th>
          <th>sepal_width</th>
          <th>petal_length</th>
          <th>petal_width</th>
          <th>species</th>
        </tr>
      </thead>
      <tbody>
        {% for row in value %} 
          <tr>
            <td>{{row[0]}}</td>
            <td>{{row[1]}}</td>
            <td>{{row[2]}}</td>
            <td>{{row[3]}}</td>
            <td>{{row[4]}}</td>
          </tr>
        {% endfor %}
      </tbody>
    </table>
  </body>
</html>

Я получилтаблица такова:

sepal_length sepal_width petal_length petal_width   species
s   e   p   a   l
s   e   p   a   l
p   e   t   a   l
p   e   t   a   l
s   p   e   c   i

Я часами пытался выяснить, что пошло не так. Я до сих пор понятия не имею, почему это не работает. Кто-нибудь знает, почему это произошло?

Кроме того, есть ли способ во фляге отображать симпатичные данные, а не кодировать в HTML? Я был бы очень удивлен, если нет.

1 Ответ

0 голосов
/ 05 ноября 2019

На самом деле вы поместили папку с шаблоном в неправильный путь, поэтому вы получили ошибку TemplateNotFound. Вам нужно поместить папку с шаблонами в эту папку "os.path.abspath ('templates')", и вы решили эту проблему.


app.py

из колбы import Flask, render_template

импорт seaborn как sns

импорт pandas как pd

iris = sns.load_dataset ('iris')

template_dir = os.path.abspath ('templates')

static_dir = os.path.abspath ('static))

app = Flask ( __ name __ , template_folder = template_dir, static_folder = static_dir,)

@app.route ('/')

def пример ():

    return render_template("example.html", value=iris)

если __ name __ == '__ main __' :

app.run(debug=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...