HTML 表单数据将传递到 Flask 后端

问题描述 投票:0回答:1

大家好我正在尝试将数据从 HTML 表单发送到 Flask 后端文件,这非常简单 该 html 文件包含一个简单的表单,该表单只有一个文本输入和一个提交按钮。 这是html代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form id="sign-form" method="POST">
      <input type="text" id="sign-username">
      <input type="submit">
   </form>
   </body>
   </html>

简单明了

和烧瓶代码:

    from flask import Flask, render_template, request

    app = Flask(__name__)

    @app.route("/", methods=["GET", "POST"])
    def home():
        sign_user = None  # Initialize sign_user (optional)
        if request.method == 'POST':
            try:
                sign_user = request.form['sign-username']
                print(f"Received sign-user: {sign_user}")  # Print the retrieved value
            except KeyError:
                print(f"Error: Username field not found in form data.{request.form}")
        return render_template("test.html", sign_user=sign_user)

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

问题是sign-username中的数据不会传递到flask文件中。 什么会导致问题?

将发送 post 请求,但数据不会到达 Flask 文件,当我打印 request.form 时,其输出是 ImmutableMultiDict([])?这两个文件都在本地主机上运行http://127.0.0.1:5000

python html flask web
1个回答
0
投票

您必须为输入字段分配名称属性。可以使用 name 属性的值从字典

form
检索表单字段中的用户输入。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form id="sign-form" method="POST">
      <input type="text" id="sign-username" name="sign-username">
      <input type="submit">
   </form>
</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.