根据数据创建烧瓶表

时间:2020-03-20 12:10:12

标签: python flask

我正在尝试将数据放入flask的表中,但是出于某种原因,它会为每个字符创建一个新行,而不仅仅是将完整的字符串放入行中。

代码:

@app.route('/') 
def logs():
    output = ''
    try:
        conn = redis.StrictRedis(host='redis', port=6379)
        for key in conn.scan_iter("log.g*"):
            value = str(conn.get(key))
            output += "str(key)+ '--' + value"

            return render_template('view.html', data=output)

表格代码:

<table>
    {% for row in data %}
    <tr>
        {% for value in row %}
        <td>{{ value }}</td>
        {% endfor %}
    </tr>
    {% endfor %}
</table>

1 个答案:

答案 0 :(得分:1)

好吧,问题是您的输出/数据绝对是非结构化的-它只是一个大字符串。例如,您要创建一个列表:

    output = []
    conn = redis.StrictRedis(host='redis', port=6379)
    for key in conn.scan_iter("log.g*"):
        value = str(conn.get(key))
        output.append("str(key)+ '--' + value")

    return render_template('view.html', data=output)

(在您的代码中,return语句位于循环内,这意味着该循环将仅运行一次。

上面的代码将创建一个列表,然后创建一个模板:

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

会将每个列表成员打印到一个表格单元格中。除此之外,我们无法说出您想要在一个表行中拥有什么。