为什么显示BadrequestKeyError?

我正在做一个小项目-提醒系统。我有一个可以接受用户值并将其插入数据库表的表单。从文本框中获取值时发生问题。下面是我的代码,我也给出了错误提示。

<form method="POST" action="">
<input type="hidden" name="unique" value="{{session.UID}}" disabled="true">
<button type="submit" class="btn btn-primary">Confirm</button>
</form>

这是我的模板

@app.route('/home/set_reminder',methods=['POST'])
@is_logged_in
def set_reminder():
    if request.method=='POST' and form.validate():
        uid = request.form['unique']

此行uid = request.form['unique']中出现错误。无法理解为什么它无法获取值。

werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.
KeyError: 'unique'

这是正在得到的错误。 请帮帮我。

calary 回答:为什么显示BadrequestKeyError?

在您的HTML中,uid输入被禁用了 ,因此浏览器将不会在POST请求的正文中发送uid。当您尝试访问request.form.uid时,这会导致错误-它不存在。

如果该值必须由浏览器返回,则可以使用 readonly 而不是 disabled

有关BadRequestKeyError的更多信息,请参见this answer

本文链接:https://www.f2er.com/3129147.html

大家都在问