如何使用 flask 打印数据

iqxoj9l9  于 2022-10-02  发布在  Python
关注(0)|答案(1)|浏览(253)

我将从展示我的代码开始

<h1>
<form>
    <div class="form-group">
      <label for="product">Name the product you want to add</label><!-- if value isn't a string invalid -->
      <input type="text" id="product" name="prodcut">
    </div><br><br>
    <div class="form-group">
      <label for="price">Price for your product</label> <!--if value isn't number invalid -->
      <input type="text" id="price" name="price">
    </div>
    <button type="submit" class="btn btn-primary">Add</button>
  </form>

我想创建产品数据库,因此我需要获得有关输入的信息。可能有更好的方法来做到这一点,但我是一个完全的初学者,所以这就是我得到的。我正在使用bootstrap btw。

要打印出数据,我有这个代码:

@auth.route('/add',methods=['GET','POST'])
def add_products():
data = request.form
print(data)
return render_template("add.html", content = "add")

我得到的输出是:ImmuableMultiDict([])。即使我给出了id和名称,所以我真的不明白为什么在我写下并单击Add按钮后没有输出。在urlbar中插入输入后,我可以看到我写的内容,我也想摆脱它。谢谢你的帮助!

j1dl9f46

j1dl9f461#

您需要指定<form>标记的方法:

<form method="post">

此外,在您的路径中,您需要一个条件来检查哪种类型的方法正在提交给路径:

@auth.route('/add',methods=['GET','POST'])
def add_products():
    if request.method == "POST":
        data = request.form
        print(data)
    return render_template("add.html", content = "add")

由于你是一个初学者,我强烈建议你遵循this tutorial by Corey Schafer,它对初学者很友好,到最后你将学习到你将在现实世界中使用的概念。

相关问题