[英]How do I set up a Flask request to change the color of an HTML button?
我很难理解 Flask 请求。 我正在使用它来更改 HTML 按钮被点击后的状态,实质上是将颜色从黑色更改为黄色。 但我正在努力寻找如何链接 Python 和 HTML。
到目前为止,这是我的 Python:
from flask import Flask, render_template, url_for, request
app = Flask(__name__)
@app.route('/', methods = ['GET', 'POST'])
def homePage():
pageType = 'Controller'
btn1 = True
if request.form['value'] == 'on':
print("yes")
btn1 = True
elif request.form['value'] == 'off':
print("no")
btn1 = False
return render_template("index.html", pageType = pageType, btn1 = btn1)
if __name__ == "__main__":
app.debug = True
app.run()
然后在我的 HTML 模板中:
<form method=post>
{% if btn1 == True %}
<button type=submit class="btn btn-default" value="on"><i class="fa fa-lightbulb-o fa-5x" style="color:yellow;"></i><br>Lamp</button>
{% else %}
<button type=submit class="btn btn-default" value="off"><i class="fa fa-lightbulb-o fa-5x"></i><br>Lamp</button>
{% endif %}
</form>
我显然出错了,只是不确定在哪里或如何使这项工作...
所有 HTML 表单元素都需要一个name
属性,以便在提交表单时发送它们的数据。 你的模板应该是:
{% if btn1 %}
<button type=submit class="btn btn-default" name="lamp" value="on">...
{% else %}
<button type=submit class="btn btn-default" name="lamp" value="off">...
{% endif %}
该名称是您用来访问请求中的值的名称:
if request.method == 'POST':
if request.form['lamp'] == 'on':
btn1 = True
elif request.form['value'] == 'off':
btn1 = False
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.