Flask ha un buon gestore di errori usando abort()
o quando l'errore si è verificato veramente.Flask - Come creare codice abort() personalizzato?
Da documentazione Flask v'è un esempio di errore 404 handler:
@app.errorhandler(404)
def not_found(error):
return render_template('404.html'), 404
Così, ho cercato di creare il codice di errore personalizzato come
if False:
abort(777)
@app.errorhandler(777)
def something_is_wrong(error):
return render_template('777.html'), 777
Ma non funziona e il debugger Werkzeug dice : LookupError: nessuna eccezione per 777
Ho trovato this question che dice che dovrei farlo in questo modo:
if False:
return '777 error', 777
Purtroppo, il codice sopra produrre bianco-schermo, anche il debugger Werkzeug non esce
so di poter semplicemente fare:
if False:
return render_template('777.html')
Ma sarà rendere il codice più pulito, se Io uso il abort()
. C'è un modo per creare un codice di errore personalizzato?
Grazie, utilizzo l'errore 400 bad_request per quando l'utente ha digitato manualmente un valore errato nell'URL (perché l'URL contiene l'input dell'utente dall'elenco a discesa). ** Funziona, ma è quella giusta? ** – hrsetyono
Probabilmente, dipende dal motivo per cui stai rifiutando l'input. Un altro codice appropriato/comune potrebbe essere 404, o forse anche 403 se si sta bloccando per motivi di sicurezza. –
Che dire di 402? Quella non è definita in werkzeug ma dovrebbe essere valida. – Pwnna