我要求用户输入一些数据,之后我将他重定向到'结果'网站,这需要几秒钟才能加载。
我不喜欢这个,因为没有用户反馈告诉他,服务器没有崩溃,他的结果即将到来。所以我在考虑向用户显示一个“加载”网站,说明“请稍候”,然后自动将他重定向到“结果”页面。用户会在另一个加载的整个时间内看到“请等待”-website,因为Flask在完成计算之前不会为站点提供服务。
[尝试澄清] 其中一个页面需要很长时间,因为它等待file upload。另一方需要很长时间,因为它的功能等待来自第三方api的数据。
我如何在Flask中做到这一点?
答案 0 :(得分:2)
我打算为此建议Celery,但是有人刚刚在Flask邮件列表上发布了这个,这可能是一个更简单的解决方案:Hello-Redis-Tasks。如果您仍想使用Celery,那么您应该查看:Custom states in celery
答案 1 :(得分:0)
Flask的文件上传文档包含implementing progress bars for file uploads部分。选择众多客户端解决方案中的一个来显示上传进度,然后在上传完成后重定向。
对于长时间运行的服务器端进程,您有以下几种选择:
<meta http-equiv="refresh" content="0; url=/path/to/page3">
)