【问题标题】:Python Flask: how to make an endpoint refresh every secondPython Flask:如何使端点每秒刷新一次
【发布时间】:2020-04-05 15:07:52
【问题描述】:

我创建了一个 Flask API,我希望它每秒被点击/刷新。
以下是代码:

from flask import Flask
from datetime import datetime

app = Flask(__name__)

@app.route("/", methods=["GET"])
def home():
    return """Hello World!<br>The current time is {}.""".format(datetime.strftime(datetime.now(), "%d %B %Y %X"))

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

需要什么?
我基本上希望html页面每秒更新一次,显示当前日期和时间,即每秒更新一次。 我没有为渲染添加任何显式的 HTML 页面。我不懂 HTML,因此想通过 python 和flask api来完成。

我怎样才能做到这一点?有没有更好的方法呢?

【问题讨论】:

  • 这实际上与端点无关。端点只是响应请求。如果你想每秒请求一次数据,你需要每秒发送一次 request,无论你将要构建的前端。但这是一种代码味道。你为什么要这样做?很可能是XY problem。
  • 查看您的代码也许您只需要在前端运行一点 JavaScript?不是从后端请求数据的,只是在浏览器中运行的。
  • @Chris 我想实时显示当前日期和时间更新。我的意思是问是否有任何方法可以每秒从同一个程序向端点发出 GET 请求,还是我真的必须编写另一个程序才能每秒命中一次?
  • @Chris 太棒了!你能告诉我怎么做吗?或者告诉我在哪里可以学习?我不知道 html 或 JS,但现在只想学习如何完成这项工作
  • 这篇文章会回答你的问题:stackoverflow.com/questions/53111362/…

标签: python flask flask-restful


【解决方案1】:

你可以试试这个:

from flask import Flask
from datetime import datetime

app = Flask(__name__)

@app.route("/", methods=["GET"])
def home():
    return """
<meta http-equiv="refresh" content="1" /> 
Hello World!<br>The current time is {}.""".format(datetime.strftime(datetime.now(), "%d %B %Y %X"))

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

如果要更改频率,请更改meta标签内的content属性(数字指秒数)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 2016-03-21
    相关资源
    最近更新 更多