我使用flask使程序显示在网页上。
某些功能需要较长的处理时间(将超过3分钟)来处理数据。
我可以在控制台上通过print()监视输出,但是在网页上,用户可能会混淆页面超时或正在运行?
所以我想在网页上显示一些过程数据。
例如 “总数据:1000,处理记录:1”,
“总数据:1000,处理记录:2”
...
“总数据:1000,处理记录:1000”
该消息仅在getResult()完成时显示,我发现了一些动态的烧瓶,但是没有运气。我可以知道如何显示处理数据吗?
result.py
def getResult(searchDateS, searchDateE):
try:
data=[]
req_search = session.post(url_searchDate, params=params, headers=headers, cookies=cj)
reqj_search=req_search.json()
for i in reqj_search
print("Total data:1000, processing record:", ......)
...
...
return data
except Exception as e:
print("Error: "+str(e))
view.py
@app.route('/Result', methods = ['GET', 'POST'])
def result():
form = SearchForm()
if form.validate_on_submit():
getResult(form.searchDateSSF.data, form.searchDateESF.data)
return render_template('showResult.html',form=form)
else:
flash("Total data:1000, processing record:")
return render_template('showResult.html',form=form)
showResult.html
{% extends "layout.html" %}
{% block content %}
<head>
<title>Match result</title>
</head>
<body>
<form action="{{ url_for('result') }}" method="post">
{{ form.searchDateSSF.label }}
{{ form.searchDateSSF }}
{{ form.searchDateESF.label }}
{{ form.searchDateESF }}
{{ form.submit }}
{{ form.csrf_token }}
</form>
{% with messages = get_flashed_messages() %}
{% if messages %}
{% for message in messages %}
{{ message }}
{% endfor %}
{% endif %}
{% endwith %}
</body>
{% endblock %}