[英]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.