You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask应用点击浏览器刷新图标触发代码执行的可行性问询

解决方案:利用Flask路由的请求响应机制实现刷新触发代码执行

当然可以实现!其实浏览器点击刷新按钮的核心逻辑,就是向当前页面对应的URL重新发送一次HTTP请求——而Flask的路由处理函数本来就是为响应这类请求设计的,所以只要把你想要执行的Python代码放到对应路由的处理函数里,每次刷新页面时,这段代码就会自动运行,之后页面会返回更新后的内容,完全不用你手动去执行代码再刷新。

举个实际的例子,假设你需要每次刷新都执行一段获取系统状态的代码,再把结果展示在页面上:

from flask import Flask, render_template
import psutil  # 假设用这个库获取系统CPU使用率

app = Flask(__name__)

@app.route('/dashboard')
def dashboard():
    # 这段代码会在每次刷新页面时自动执行
    cpu_usage = psutil.cpu_percent(interval=1)
    memory_usage = psutil.virtual_memory().percent
    
    # 将执行结果传递给模板,渲染出更新后的页面
    return render_template('dashboard.html', cpu=cpu_usage, memory=memory_usage)

if __name__ == '__main__':
    app.run(debug=True)

对应的dashboard.html模板可以这样写:

<!DOCTYPE html>
<html>
<head>
    <title>系统监控面板</title>
</head>
<body>
    <h1>系统状态</h1>
    <p>CPU使用率:{{ cpu }}%</p>
    <p>内存使用率:{{ memory }}%</p>
</body>
</html>

当你打开http://localhost:5000/dashboard后,每次点击浏览器的刷新按钮,Flask都会重新调用dashboard()函数——里面获取CPU和内存使用率的代码会自动执行,然后页面会显示最新的监控数据。

如果你的需求是执行其他逻辑(比如更新数据库、调用外部API、读取本地文件等),只要把这些操作放到对应的路由处理函数里就行,刷新请求触发时,这些代码都会被执行。

小提示:如果你的路由原本处理的是POST请求(比如表单提交),刷新时浏览器可能会提示重新提交表单,这时候可以采用Post/Redirect/Get模式:在POST处理完成后重定向到一个GET路由,这样刷新时就只会触发GET请求,避免重复提交的问题。

内容的提问来源于stack exchange,提问作者Sukirti Sen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:49:07