werkzeug.exceptions.BadRequestKeyError:400错误的请求:浏览器(或代理)发送了一个该服务器无法理解的请求。Flask Web应用程序

时间:2020-07-26 06:08:39

标签: python html css flask python-requests

如何解决此错误?我是烧瓶新手

  • http://127.0.0.1:5000/上运行(按CTRL + C退出) 127.0.0.1--[2020年7月26日11:19:45]“ GET / predict HTTP / 1.1” 500- 追溯(最近一次通话):

引发异常。BadRequestKeyError(key) werkzeug.exceptions.BadRequestKeyError:400错误的请求:浏览器(或代理)发送了该服务器无法理解的请求。 KeyError:“ namequery”

<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)

1 个答案:

答案 0 :(得分:0)

好的,因此,当您使用request.method='POST'时,您将从已发布的namequery中访问变量form。但是您的代码也希望变量request.formrequest.method='GET'出现时出现。

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

如果要传达其他信息,请编辑代码。