Flask tiene un buen controlador de errores usando abort()
o cuando el error ocurrió realmente.Frasco: cómo crear código abort() personalizado?
De la documentación frasco no es un ejemplo para el error manejador 404:
@app.errorhandler(404)
def not_found(error):
return render_template('404.html'), 404
tanto, he intentado crear un código de error personalizado como
if False:
abort(777)
@app.errorhandler(777)
def something_is_wrong(error):
return render_template('777.html'), 777
Pero no funciona y el depurador Werkzeug dice : LookupError: ninguna excepción para 777
Encontré this question que dice que debo hacerlo así:
if False:
return '777 error', 777
Por desgracia, el código anterior producen de pantalla blanco, incluso el depurador Werkzeug no sale
Sé que puedo hacer simplemente:
if False:
return render_template('777.html')
Pero va a hacer el código más limpio si Yo uso el abort()
. ¿Hay alguna forma de crear un código de error personalizado?
Gracias, lo usan de error 400 bad_request para cuando el usuario ingresó manualmente el valor incorrecto en la URL (porque la URL contiene información del usuario de la lista desplegable). ** Funciona, pero ¿es el correcto? ** – hrsetyono
Probablemente, depende de por qué rechaza la entrada. Otro código apropiado/común podría ser 404, o tal vez incluso 403 si está bloqueando por razones de seguridad. –
¿Qué hay de 402? Ese no está definido en werkzeug pero debería ser válido. – Pwnna