我们可以将JavaScript变量传递给Python文件吗?

时间:2020-03-04 08:34:27

标签: javascript python leaflet

我正在为机器学习项目的卫星图像开发一个简单的网页GUI。所有文件都在我的本地计算机上,我也打算在本地托管该网站。我使用了普通的Javascript和第三方库Leaflet来显示图像(有点像地图)。

显示的地图基本上是图像的平铺版本。我需要将图块的路径(当前正在存储在js变量中)传递到一个python文件,该文件将使用它执行特定图块的特征提取。

最初,我尝试将其写入python程序将读取的文本文件中,但每次下载文件时都会显示提示。其他大多数解决方案都涉及NodeJS的FS模块。

如果这是一个非常简单的问题,很抱歉,我是一个初学者,但是在上面找不到任何答案(几乎每个答案都使用了某种js风格)

2 个答案:

答案 0 :(得分:1)

您尝试使用Flask微型网络框架吗?这是将ML项目与Web集成的最简单方法。

查看这些视频是否有帮助

Deploying deep learning using flask for an image recogntion project

Deploy ML model using flask

答案 1 :(得分:0)

如果您需要将数据发送到python,请发送JSON

将其放入您的js,AJAX将发送到python脚本:

$.ajax({
        type: "POST",
        url: $SCRIPT_ROOT + "/my_data",
        data: "data=Hello",
        success: function(response) {
            console.log(jQuery.parseJSON(response).msg);
        },
        error: function (response) {
            console.log(jQuery.parseJSON(response).msg);
            alert("Ajax error!");
        }
});


然后python将获取请求并发送响应:

@app.route('/my_data', methods=['GET', 'POST'])
def ajax_data():
    message = request.form['data']
    print(message)
    try:
        return json.dumps({'msg': "Message was successfully sent!"})
    except Exception as e:
        return json.dumps({'msg': "Message send error : " + e.message})