在 Flask 中,如何将变量从模板传递给 Python?

In Flask, how can I pass a variable from template to Python?

我有一个配置文件名称列表。当用户单击其中一个个人资料名称时,应用程序将加载该个人资料的所有详细信息。我在数据库上也有一个 mySQL table。

例如,如果我有以下内容:

<li>
    <ul>Michael</ul>
    <ul>John</ul>
    <ul>Emily</ul>
</li>

这三个人的名字,是mySQL数据的主键,我需要把名字传给Python才能载入资料。我知道如何在 JavaScript.

中使用 "onclick()" 获取名称

但是,我很难将变量从 HTML 或 JavaScript 传递到 Python。

以下代码是我的"apprunner.py"的片段:

     app = Flask(__name__) 
     @app.route("/")
     def index():
          return render_template("index.html")

     if __name__ == "__main__":
           app.run(debug=True)

假设 "li" 在 "index.html" 上。如何将配置文件的名称作为变量传递给 "apprunner.py"?这样我就可以使用变量作为主键来查找数据库中的元组。

您可以使用查询参数将名称传递给您的 flask 路由

from flask import request

@app.route('/')
def data():
    # here we want to get the value of user (i.e. ?user=some-value)
    user = request.args.get('user')

您可以使用

传递查询参数
window.location.href = "?user=" + selectedUser

这个用例可能有更好的解决方案,但这仍然有效