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

如何从服务器端HTML按钮导入数据到客户端Windows运行的Python脚本

解决方案

你不需要在客户端运行的Flask服务里使用模板功能,也不需要维护本地template文件夹,核心需求本质是远端Web页面和本地Python脚本的HTTP通信,按以下步骤实现即可:


实现思路

Flask的模板功能是用来让服务端渲染返回网页的,你当前的场景里网页已经部署在远端Web服务器,本地Flask只需要提供数据接收接口,完全不需要调用render_template相关方法,也就不会触发Flask对本地template文件夹的检查。


具体操作步骤

  • 第一步:编写客户端Windows设备上运行的Flask代码,仅保留数据接收逻辑即可:
from flask import Flask, request
# 解决跨域问题需要安装flask-cors包,不需要可以去掉
from flask_cors import CORS

app = Flask(__name__)
# 允许跨域请求,不需要可以去掉
CORS(app)

@app.route('/receive_data', methods=['POST'])
def receive_data():
    # 获取Web端传递的字符串
    input_str = request.json.get('target_str', '')
    # 这里写你拿到字符串之后的业务逻辑
    print(f"接收到的字符串:{input_str}")
    return {"code": 200, "msg": "接收成功"}

if __name__ == '__main__':
    # 本地监听指定端口
    app.run(host='127.0.0.1', port=6789)
  • 第二步:修改远端Web服务器上的HTML页面JS逻辑,用户点击按钮生成字符串后直接调用本地Flask接口:
document.querySelector('#generate-btn').addEventListener('click', function() {
    // 你自己的生成字符串逻辑
    const generatedStr = '你的业务生成的字符串';
    // 调用本地Flask接口传数据
    fetch('http://127.0.0.1:6789/receive_data', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            target_str: generatedStr
        })
    }).then(res => res.json()).then(res => {
        if(res.code === 200) alert('数据已同步到本地客户端');
    }).catch(err => {
        alert('请确认本地Python脚本已正常启动');
    })
})

可选优化方案

如果需要支持非本地局域网的场景,可调整为数据中转模式:远端Web服务器先存储用户生成的字符串,本地Python脚本定时调用远端服务器的接口拉取新生成的字符串即可,不需要本地暴露端口。


内容的提问来源于stack exchange,提问作者zeerak.nu7

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:45:03