从Flask服务器运行python脚本

时间:2020-07-02 15:22:20

标签: python html flask

我需要能够从Flask服务器上的HTML文件中运行Python脚本。在我的HTML页面上,有3个输入框和一个ok按钮。按下ok按钮时,应将输入框中的数字传递给命令以运行python脚本。需要运行的命令示例为python magicHome-rgb.py <inputBox1> <inputBox2> <inputBox3>,但将<inputBox[no]>替换为输入框的输入。

如果这没有意义,请随时询问更多...

有人知道这是否可能吗?

1 个答案:

答案 0 :(得分:0)

不,即使可以,也不要。相反,如果您使用表单来收集数据,请通过POST请求将该数据发送到Flask服务器,并由一个函数来处理它。不要使用单独的脚本。

示例python函数:

@app.route('/your-url', methods=('GET', 'POST'))
    def get_input():
        if request.method == 'POST':
            box1 = request.form['inputbox1']
            box2 = request.form['inputbox2']
            box3 = request.form['inputbox3']

            # -- do stuff --

        return render_template('your_template.html')

可能使用的表单的HTML示例:

  <form method="post">
    <input type=number name="inputbox1" id="inputbox1" required/>
    <input type=number name="inputbox2" id="inputbox2" required/>
    <input type=number name="inputbox3" id="inputbox3" required/>
    <input type="submit" value="Ok">
  </form>

在上述情况下,box1box2box3存储您可能需要的3个输入框的输出。

或者,要运行HTML文件中的代码,您也可以使用HTML文件中嵌入的javascript处理输入。