Flask - Error werkzeug.exceptions.BadRequestKeyError -
Estoy tratando de ejecutar mi primera aplicación de matraz, pero recibo el siguiente error después de enviar la solicitud POST en Postman.
Error:
werkzeug.exceptions.BadRequestKeyError: 400 Solicitud incorrecta: el navegador (o proxy) envió una solicitud que este servidor no pudo entender.
KeyError: 'objetivo'
El error probablemente provenga de aquí: goal = request.form['goal']
, ya intenté cambiar el request.form
a request.json
o form.get
sin éxito . :(
¿Alguna idea?
Nota: uso Windows, Visual Studio, Python 3.9 y 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
})```
Mostrar la mejor respuesta
Publicado : 2 January, 2021 @ 05:01
Encuentro muy útil en casos como este agregar una impresión (solicitud) al comienzo de su función create()
. Eso debería mostrarle qué elementos tiene en el objeto y ayudarlo a determinar sus próximos pasos de depuración.
Publicado : 2 January, 2021 @ 06:19
Gracias por el aporte @JamesMcPherson, agregué las siguientes líneas después de la función create(): print(request.method) print(request.url) print(request.data) print(request.headers)
Las impresiones son: POST 127.0.0.1:5000/create b'' Ninguno Agente de usuario: PostmanRuntime/7.28.4 Aceptar: */* Postman-Token: 4c3a-896f-yy8b-a82c -dxxx8c9xx (editado) Host: 127.0.0.1:5000 Aceptar codificación: gzip, deflate, br Conexión: keep-alive Content-Length: 0 Siendo request.data "b''" y Content-Length: 0 Supongo que necesito ajustar la aplicación para recibir la información POST correctamente.
Publicado : 2 January, 2021 @ 19:50
Publicado : 2 January, 2021 @ 23:37
Gracias por la ayuda @JamesMcPherson, ¡pude recibir la información POST después de crear la página web base inicial! Estoy tratando de aceptar la respuesta, pero no estoy seguro de por qué no muestra la marca de verificación junto a la respuesta/comentario.
Publicado : 4 January, 2022 @ 02:57
Probablemente porque es un comentario en lugar de una respuesta. Lo arreglaré enseguida. Gracias
Publicado : 4 January, 2022 @ 03:11
Publicado : 4 January, 2022 @ 03:11