烧瓶 - 错误 werkzeug.exceptions.BadRequestKeyError -

Flask - Error werkzeug.exceptions.BadRequestKeyError -

我正在尝试 运行 我的第一个 Flask 应用程序,但在向 Postman 发送 POST 请求后出现以下错误。

错误: werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: 浏览器(或代理)发送了一个服务器无法理解的请求。 键错误:'goal'

错误可能来自这里:goal = request.form['goal'] ,我已经尝试将 request.form 更改为 request.jsonform.get 但没有成功。 :(

有什么想法吗?

注意:我正在使用 Windows、Visual Studio、Python 3.9 和 Postman。


app = Flask(__name__)

@app.route('/create', methods=('GET', 'POST'))

def create():
    if request.method == 'POST':
        goal = request.form['goal']
        content = request.form.get['content']
        
        if not title:
            flash('Goal is required!')
    return calc(goal,content)
    
if __name__ == "__main__":
   app.run(debug=True)

def calc(goal, content):

#rest of the code here...#

    return jsonify({
        "status": 200,
        "message": "Success",
        "data":data
})```

在我看来,您还没有创建包含您的表单元素的初始基础网页 (index.html)。

如果你看https://github.com/jmcp/find-my-electorate/blob/master/app.py#L271, you'll see that the base route calls render_template() with an argument, which is https://github.com/jmcp/find-my-electorate/blob/master/templates/index.html。这将创建一个传递给 POST 方法的元素。

在您的代码段中您没有任何类似的东西,因此根本没有要传递的请求对象。