繁体   English   中英

如何设置 Flask 请求以更改 HTML 按钮的颜色?

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

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