Frage Richte ich meinen Flask 404-Handler nicht korrekt ein?


In meiner Flask-App habe ich einen 404-Handler wie folgt eingerichtet:

@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404

Wenn ein Benutzer jedoch eine nicht erkannte URL aufruft, gibt das System einen internen Serverfehler aus, anstatt die 404-Vorlage zu rendern. Fehle ich etwas?


6
2018-02-09 14:38


Ursprung


Antworten:


interner Serverfehler ist HTTP-Fehler 500 statt 404 und Sie haben keinen Fehlerhandler dafür hinzugefügt. Dies tritt auf, wenn der Server die Clientanforderung nicht ordnungsgemäß erfüllen kann. Um eine gnädige Nachricht hinzuzufügen, wenn ein solcher Fehler auftrat, können Sie ein hinzufügen Fehlerhandler wie 404.

@app.errorhandler(500)
def exception_handler(e):
    return render_template('500.html'), 500

7
2018-02-09 15:07



Dies tritt auch auf, wenn Debug auf "true" gesetzt ist. Versuchen Sie, debug auf false zu setzen und sehen Sie, ob Ihre benutzerdefinierte 404 dann erscheint.


0
2018-05-29 12:47