Flask出现内部服务器错误而非渲染404
在我的Flask应用中,我设置了一个404错误处理器,像这样:
@app.errorhandler(404)
def page_not_found(e):
return render_template('404.html'), 404
但是,当用户访问一个不被识别的链接时,系统却出现了内部服务器错误,而不是显示我的404
页面。我是不是漏掉了什么?
3 个回答
0
如果你把调试模式设置为“真”,也会出现这种情况。试着把调试模式改成“假”,看看你的自定义404页面能不能显示出来。
1
可能在显示404
页面的时候出现了问题,这导致了内部服务器错误。
我建议你查看一下你应用的日志记录。
8
内部服务器错误是HTTP错误代码500,而不是404,并且你没有为它添加错误处理程序。这种错误发生在服务器无法正确处理客户端的请求时。为了在出现这种错误时显示一个友好的提示信息,你可以像处理404错误那样添加一个errorhandler。
@app.errorhandler(500)
def exception_handler(e):
return render_template('500.html'), 500