繁体   English   中英

从html按钮调用python函数以运行shell命令

[英]calling python function from html button to run shell command

我想做的是从我定义的python脚本中调用一个函数,以运行一个简单的gpio shell命令。

我不需要它返回或去任何地方,只需运行命令并停留在页面上即可。

这就是我所拥有的。

from flask import Flask, render_template
import subprocess

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/main')
def main():
    return render_template('main.html')

#setup calls for hardware to set state
subprocess.call(['./gpio-out.sh'])


def pin0on():
    subprocess.call(['gpio write 0 1'])

def pin0off():
    subprocess.call(['gpio write 0 0'])

我一直在尝试使用{{pin0on}}或关闭它。

带按钮的页面是main.html,只有一个带有两个按钮的简单页面。 我正在使用href调用它。 我似乎在任何地方都找不到沿着这些路线的任何东西。 否则我可能只是做错了。

您必须将代码放入视图函数中:

@app.route('/on')
def turn_on():
    subprocess.call(['gpio write 0 1'], shell=True)
    return '', 204  # no content

然后在模板中,按钮将如下所示:

<a href="{{ url_for('turn_on') }}">Turn on</a>

当被点击的按钮,它会触发turn_on视图功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM