烧瓶 - 错误 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.json
或 form.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 方法的元素。
在您的代码段中您没有任何类似的东西,因此根本没有要传递的请求对象。
我正在尝试 运行 我的第一个 Flask 应用程序,但在向 Postman 发送 POST 请求后出现以下错误。
错误: werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: 浏览器(或代理)发送了一个服务器无法理解的请求。 键错误:'goal'
错误可能来自这里:goal = request.form['goal']
,我已经尝试将 request.form
更改为 request.json
或 form.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 方法的元素。
在您的代码段中您没有任何类似的东西,因此根本没有要传递的请求对象。