2012-02-09 72 views
6

在我的瓶的应用程序,我设置了一个404处理器是这​​样的:我没有正确设置我的Flask 404处理程序?

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

但是,当用户进入一个网址无法识别,系统会给出一个内部服务器错误,而不是渲染我的404的模板。我错过了什么吗?

+1

您是否创建了模板'404.html'?无论哪种方式,发布您的错误的堆栈跟踪。启用调试模式或记录您的应用程序,或者如果您使用的是内置开发服务器,请检查控制台。 – 2012-02-09 20:19:56

+0

我的错误页面没有工作,直到我返回一个字符串,如'错误404'。然后,我编写'render_template'并且工作正常。我不知道让它工作的原因,但你可以尝试。 – jaloplo 2012-09-12 09:56:58

回答

7

内部服务器错误是HTTP错误500而不是404,并且您没有为其添加错误处理程序。当服务器无法正确完成客户端请求时会发生这种情况。要添加时发生这样的错误消息亲切,你可以添加一个的ErrorHandler像404

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

此,如果您有调试设置为true,也会发生。尝试将debug设置为false,然后查看自定义404是否显示。

相关问题