name属性set Flas的KeyError

2024-10-04 01:36:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经在StackOverflow和其他网站上搜索了关于这个问题的帮助,但我不明白我做错了什么。你知道吗

我正在尝试将表单发布到Flask后端,以便将一个项添加到数据库中的“愿望列表”。你知道吗

其思想是用户按下一个按钮,这是一个图像,提交表单运行代码,将其添加到数据库。你知道吗

这是我的问题按钮的html:

<input type="image" class="addlist" value="{{ product.id }}" name="addwish" alt="Add to Wish List" title="Add to Wish List" src="{{ url_for('static', filename='wishlist.png') }}">

下面是Python代码:

@app.route("/", methods=['GET', 'POST'])
def addtowishlist():
    if request.method == 'POST':
        wishProductId = request.form['addwish']
        if wishProductId is not None:
            wish = Wishes(user_id=current_user.id, product_id=wishProductId)
            db.session.add(wish)
            db.session.commit()
    return redirect(url_for('home'))

据我所知,申请表[]方法在字典中搜索“name”属性。我不明白的是,当单击时,我得到一个服务器错误:

werkzeug.exceptions.HTTPException.wrap..newcls: 400 Bad Request: KeyError: 'addwish'

我在其他地方看到的解决方案就是确保name属性是正确的,但是正如您所看到的,它是正确的。你知道吗

我可以让它工作时,我把一个提交按钮周围的img标签,所以我知道,代码发布到数据库应该是好的,但这似乎是坏的形式,它扰乱了我的CSS和页面布局。你知道吗

我是不是误解了type=“image”的输入标记以及它是如何工作的?你知道吗

我是个新手,这是我第一次申请。你知道吗

谢谢你的帮助


Tags: to代码nameimageaddid数据库表单