如何使HTML视图/模板使用更改后的文件中的新数据进行更新

时间:2018-06-29 20:52:04

标签: python flask jinja2

因此,我有一个称为“跟随”的基本功能,用于监视文件更改。该函数产生添加到该文件的每个新行。至少从我用打印功能测试时看到的那部分来看,该部分效果很好。 现在,我想将这些新行显示为HTML模板中的表格行。

这是我的应用程序的主要功能:

import time
import json
from flask import Flask, render_template

app = Flask(__name__)


def follow(myfile):
    myfile.seek(0, 2)
    while True:
        new_line = myfile.readline()
        if not new_line:
            time.sleep(0.1)
            continue
        yield new_line


logfile = open("/files/myfile.log")
new_lines = follow(logfile)
raw_list = []


@app.route("/home")
def output_log():
    for new_line in new_lines:
        print(new_line)
        raw_list.append(new_line)
        result_list = json.dumps(raw_list)
        print(new_line)
        # return render_template("systemlog.html", results=result_list, mimetype='text/html')


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

我正在使用jinja模板,并设法从静态文件中显示表中的数据,但是当文件不断更新时该怎么做。请注意,这将是“实时”监视。

如您所见,我尝试了一些绝望的动作,包括在for循环中的每次迭代中渲染文件,但我并没有期望得到任何稳定的结果。另外,我已经看到人们使用ajax来呈现动态内容,但是当以这种方式监视文件时,我不能全神贯注于如何做。

任何建议都值得赞赏

0 个答案:

没有答案