【发布时间】:2017-06-21 15:51:27
【问题描述】:
当我尝试使用 Flask 将一些数据写入 HTML 表时,我看到了一个奇怪的问题。当页面加载时,它会将数据打印成一个长字符串,如下所示:
<table class="table table-striped table-hover"><tr><th> Task </th><th> duration </th><th> points </th></tr><tr><td>50 Pullups</td><td>15</td><td>0.5000</tr><tr><td>5K Run</td><td>45</td><td>1.0000</tr><tr><td>Abs of Steel</td><td>30</td><td>1.0000</tr><tr><td>Data Science Study</td><td>60</td><td>1.0000</tr><tr><td>Drums</td><td>30</td><td>1.0000</tr><tr><td>Kegel</td><td>10</td><td>1.0000</tr><tr><td>Metta Bhavna</td><td>25</td><td>1.0000</tr><tr><td>Mindfulness</td><td>30</td><td>1.0000</tr><tr><td>Physio</td><td>10</td><td>1.0000</tr><tr><td>Singing</td><td>30</td><td>1.0000</tr><tr><td>Skipping</td><td>15</td><td>0.0000</tr><tr><td>Sprint</td><td>20</td><td>1.0000</tr><tr><td>Typing</td><td>10</td><td>1.0000</tr><tr><td>Yoga</td><td>15</td><td>1.0000</tr></table>
但是,将它呈现为表格显然会很棒。请注意,当我将该 HTML 代码复制到页面源代码中时,它呈现得很好(因此 HTML 本身没有问题。)
我的环境设置如下:NBfetch_results是一个查询mysql数据库并以字符串格式返回结果的脚本。
import os
from flask import Flask, render_template
@app.route('/')
def table_maker():
from myfunctions import fetch_results
table = fetch_results()
return render_template('home.html', table = table)
页面源包含:
<div class="container">
{{ table }}
</div>
非常感谢您的帮助。
【问题讨论】:
-
你能截图你的html页面吗?试试
{{ table|safe }} -
{{ table|safe }}就像一个魅力!谢谢。你有什么指南可以让我在文献中找到这样的把戏吗?粗略搜索“Python Flask Safe HTML”并没有给我任何暗示该解决方案的信息。
标签: python flask html-table