在我的Flask应用程序中,我设置了一个404处理程序,如下所示:
@app.errorhandler(404)
def page_not_found(e):
return render_template('404.html'), 404
但是,当用户转到无法识别的网址时,系统会发出内部服务器错误,而不是呈现我的404模板。我错过了什么吗?
答案 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
模板时可能会出现问题,然后触发内部服务器错误。
我建议检查您应用的日志。