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

时间:2018-06-22 19:58:53

标签: javascript python html flask web-development-server

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

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

<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”?这样我就可以使用变量作为主键在数据库中查找元组。

1 个答案:

答案 0 :(得分:1)

您可以使用查询参数将名称传递到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

对于这种用例,可能有更好的解决方案,但这仍然可行。