【问题标题】:Is there a way to make flask asynchronous有没有办法让烧瓶异步
【发布时间】:2021-01-17 17:23:35
【问题描述】:

有没有办法让烧瓶异步?例如,我希望烧瓶为用户暂停一秒钟,然后显示一些文本。有没有办法做到这一点?

【问题讨论】:

  • 这最好在客户端使用 Javascript 实现。 Flask 是一个服务器端框架。
  • 请解释你为什么想要这个。了解哪种解决方案对您有意义可能会有所帮助:)

标签: python python-3.x flask


【解决方案1】:

Flask 基于 WSGI,它是一种用于将 Python Web 框架连接到 Web 服务器的 API 标准。 并且 WSGI 是一个同步和阻塞的 API。

如果你使用的是flask render_template,像这样:

@app.route('/home', methods=['GET'])
def hello(name=None):
    return render_template('hello.html', name=name)

你可以在渲染模板之前添加一个 time.sleep() 来做 if wait。 但这不是一个好习惯

import time

@app.route('/home', methods=['GET'])
def hello(name=None):
    time.sleep(30) #wait 30seconds
    return render_template('hello.html', name=name)

但是如果你想在 javascript 的前端使用它,你应该在客户端处理它。

如果您想了解烧瓶上的异步任务,可以查看 Celerythis post

【讨论】:

    猜你喜欢
    • 2020-03-10
    • 2016-10-04
    • 2012-06-29
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    • 2022-01-25
    • 2010-09-08
    • 1970-01-01
    相关资源
    最近更新 更多