Python werkzeug.exceptions.BadRequestKeyError:400错误请求:浏览器(或代理)发送了此服务器无法理解的请求。flask web app

Python werkzeug.exceptions.BadRequestKeyError:400错误请求:浏览器(或代理)发送了此服务器无法理解的请求。flask web app,python,html,css,flask,python-requests,Python,Html,Css,Flask,Python Requests,如何解决这个错误?我是新手 正在运行(按CTRL+C退出) 127.0.0.1--[26/Jul/2020 11:19:45]“获取/预测HTTP/1.1”500- 回溯(最近一次呼叫最后一次): 引发异常。BadRequestKeyError(键) werkzeug.exceptions.BadRequestKeyError:400错误请求:浏览器(或代理)发送了此服务器无法理解的请求。 KeyError:“namequery” 好的,当您的请求.method='POST'时,您正在从发布

如何解决这个错误?我是新手

  • 正在运行(按CTRL+C退出) 127.0.0.1--[26/Jul/2020 11:19:45]“获取/预测HTTP/1.1”500- 回溯(最近一次呼叫最后一次):
引发异常。BadRequestKeyError(键) werkzeug.exceptions.BadRequestKeyError:400错误请求:浏览器(或代理)发送了此服务器无法理解的请求。 KeyError:“namequery”


好的,当您的
请求.method='POST'
时,您正在从发布的
表单访问变量
namequery
。但是,当
请求.method='GET'
时,代码也希望变量
request.form
存在

这没有任何意义,因为当方法为
GET
时,实际上没有发布表单


如果您想传达其他信息,请编辑您的代码。

好的,因此当您的
请求.method='POST'
时,您正在从发布的
表单访问变量
namequery
。但是,当
请求.method='GET'
时,代码也希望变量
request.form
存在

这没有任何意义,因为当方法为
GET
时,实际上没有发布表单


如果您想传达其他信息,请编辑您的代码。

Html内容更正:

预测{name}

“更正” — 请你的问题包括任何更正。为什么HTML属性之间有逗号?@sacindahivadkar我已经编辑了你的代码。请检查它是否代表您的实际外观。Html内容更正:

预测{name}

“更正” — 请你的问题包括任何更正。为什么HTML属性之间有逗号?@sacindahivadkar我已经编辑了你的代码。请检查它是否代表您的实际外观。
<div class="container">
<form action="/predict" , method="POST">
    <p>
        <!--{{form.submit}} login button  from wtf -->
        <input type='text', name="namequery">
        <input type="submit" , value="Predict" class="btn btn-secondary">
        <input type="submit" , value="Reset" class="btn btn-secondary">
    </p>
    <h2>Prediction</h2>
    <p>{{ name }}</p>  
@app.route('/predict', methods=['GET','POST'])
def predict():
    namequery=''
    if request.method=='POST':
        namequery= request.form['`namequery`']
        data=[namequery]
    else:
        namequery= request.form['namequery']
    render_template("/predict",name=namequery)