我没有正确设置我的Flask 404处理程序吗?

时间:2012-02-09 14:38:38

标签: python http-status-code-404 flask

在我的Flask应用程序中,我设置了一个404处理程序,如下所示:

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

但是,当用户转到无法识别的网址时,系统会发出内部服务器错误,而不是呈现我的404模板。我错过了什么吗?

3 个答案:

答案 0 :(得分:7)

内部服务器错误是HTTP错误500而不是404,并且您没有为其添加错误处理程序。当服务器无法正确满足客户端请求时,会发生这种情况。要在发生此类错误时添加优雅的消息,您可以添加像<404>这样的错误处理程序

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

答案 1 :(得分:0)

如果将debug设置为true,也会发生这种情况。尝试将debug设置为false,然后查看您的自定义404是否显示。

答案 2 :(得分:0)

呈现404模板时可能会出现问题,然后触发内部服务器错误。

我建议检查您应用的日志。