python flask倒计时_python – Flask App:在函数运行时更新进度...

我正在Flask中构建一个相当简单的WebApp,它通过网站的API执行功能.我的用户使用其帐户网址和API令牌填写表单;当他们提交表单时,我有一个python脚本,通过API从他们的帐户导出PDF.这个函数可能需要很长时间,所以我想在表单页面上显示一个引导进度条,指示脚本在进程中的位置.我的问题是如何在函数运行时更新进度条?这是我正在谈论的简化版本.

views.py:

@app.route ('/export_pdf', methods = ['GET', 'POST'])

def export_pdf():

form = ExportPDF()

if form.validate_on_submit():

try:

export_pdfs.main_program(form.account_url.data,

form.api_token.data)

flash ('PDFs exported')

return redirect(url_for('export_pdf'))

except TransportException as e:

s = e.content

result = re.search('(.*)', s)

flash('There was an authentication error: ' + result.group(1))

except FailedRequest as e:

flash('There was an error: ' + e.error)

return render_template('export_pdf.html', title = 'Export PDFs', form = form)

export_pdf.html:

{% extends "base.html" %}

{% block content %}

{% include 'flash.html' %}

Export PDFs

{{form.hidden_tag()}}

Enter Account URL:

{{ form.account_url(size = 50, class = "span4")}}

{% for error in form.errors.account_url %}

[{{error}}]

{% endfor %}

Enter API Token:

{{ form.api_token(size = 50, class = "span4")}}

{% for error in form.errors.api_token %}

[{{error}}]

{% endfor %}

Submit

{% endblock %}

和export_pdfs.py:

def main_program(url, token):

api_caller = api.TokenClient(url, token)

path = os.path.expanduser('~/Desktop/'+url+'_pdfs/')

pdfs = list_all(api_caller.pdf.list, 'pdf')

total = 0

count = 1

for pdf in pdfs:

total = total + 1

for pdf in pdfs:

header, body = api_caller.getPDF(pdf_id=int(pdf.pdf_id))

with open('%s.pdf' % (pdf.number), 'wb') as f:

f.write(body)

count = count + 1

if count % 50 == 0:

time.sleep(1)

在最后一个函数中,我总共将导出的PDF数量,并在处理时持续计数.如何将当前进度发送到我的.html文件以适应进度条的’style =’标记?优选地,我可以在其他页面上为进度条重用相同的工具.如果我没有提供足够的信息,请告诉我.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值