Python Flask:如何通过单击链接更改html中Flask变量的值

Python Flask:如何通过单击链接更改html中Flask变量的值,python,html,flask,Python,Html,Flask,我想更改flask变量的值 当用户单击链接时 诸如此类 我试过这种方法,但大多数都不起作用 <a href="#" onclick=" {% set data = true %}">sutfile</a> 因为稍后我有下面的循环,我想填充select标记 仅当布尔值=true时 <label>vCenterAddress:<select> {% if data == true %} {% for a in

我想更改flask变量的值

当用户单击链接时

诸如此类

我试过这种方法,但大多数都不起作用

<a href="#" onclick=" {% set data = true %}">sutfile</a>
因为稍后我有下面的循环,我想填充select标记

仅当布尔值=true时

<label>vCenterAddress:<select> {% if data == true %} {% for a in vCenterAddress %} <option value="">{{ a[0] }}</option> {% endfor %} {% endif %}</select></label>
route.py中的布尔过程

@app.route("/", methods=['GET', 'POST'])

    def index():
        cur = mysql.connection.cursor()
        vCenterAddress = cur.execute(f"SELECT DISTINCT vCenterAddress FROM linux0 where vCenterAddress <> \"None\" ")
        vCenterAddress = cur.fetchall()
        data_to_show: bool = False
        return render_template('index.html', vCenterAddress=vCenterAddress, data=data_to_show)

下面是我在评论中建议的更详细的解释

更改链接的href: 获取您在flask中定义的参数 您需要flask的请求模块来访问请求参数 从烧瓶进口请求 @app.route/,methods=['GET','POST'] def索引: 默认情况下为False,如果show_data url参数为True,则为True show_data=request.args.get'show_data'==true 现在,您可以将该值用作模板中的任何其他值。 此外,我建议重命名数据 对于阅读您的代码的人来说,这个变量似乎包含 数据,当它实际上只是一个布尔值来显示/隐藏数据时。 返回render_模板'index.html',data=show_数据
下面是我在评论中建议的更详细的解释

更改链接的href: 获取您在flask中定义的参数 您需要flask的请求模块来访问请求参数 从烧瓶进口请求 @app.route/,methods=['GET','POST'] def索引: 默认情况下为False,如果show_data url参数为True,则为True show_data=request.args.get'show_data'==true 现在,您可以将该值用作模板中的任何其他值。 此外,我建议重命名数据 对于阅读您的代码的人来说,这个变量似乎包含 数据,当它实际上只是一个布尔值来显示/隐藏数据时。 返回render_模板'index.html',data=show_数据
你需要让你的flask服务器监听你的url应用页面

所以您需要导入请求

像这样:

from flask import request
现在在您的def索引中:您需要添加

var_name = request.args.get('var_name') = true
你的html链接

<a href="#" onClick="location="yourpage?var_bame==true">sutfile</a>
现在,当您单击链接时,新的url就是您的页面,var name=true

在flask服务器中,var=true和if条件将起作用

<label>vCenterAddress:<select> {% if data == true %} {% for a in vCenterAddress %} <option value="">{{ a[0] }}</option> {% endfor %} {% endif %}</select></label>

你需要让你的flask服务器监听你的url应用页面

所以您需要导入请求

像这样:

from flask import request
现在在您的def索引中:您需要添加

var_name = request.args.get('var_name') = true
你的html链接

<a href="#" onClick="location="yourpage?var_bame==true">sutfile</a>
现在,当您单击链接时,新的url就是您的页面,var name=true

在flask服务器中,var=true和if条件将起作用

<label>vCenterAddress:<select> {% if data == true %} {% for a in vCenterAddress %} <option value="">{{ a[0] }}</option> {% endfor %} {% endif %}</select></label>

你好如果要使用jinja Flask的模板引擎执行此操作,需要向链接的href添加一个参数,在Flask处理程序中获取该参数,然后将其传递给render_模板函数。这有意义吗?如果需要,我可以提供更多详细信息是的,如果您可以添加更多详细信息,我会有所帮助!如果要使用jinja Flask的模板引擎执行此操作,需要向链接的href添加一个参数,在Flask处理程序中获取该参数,然后将其传递给render_模板函数。这有意义吗?如果需要,我可以提供更多详细信息是的,如果您可以添加更多详细信息,我会有所帮助