使用abort()
或当真正出现错误时,Flask具有良好的错误处理程序。
从Flask文档中可以找到404错误处理程序的示例:
@app.errorhandler(404)
def not_found(error):
return render_template('404.html'), 404
所以,我尝试创建自定义错误代码,例如
if False:
abort(777)
@app.errorhandler(777)
def something_is_wrong(error):
return render_template('777.html'), 777
但它无法工作,Werkzeug调试器显示:LookupError: no exception for 777
我在这个问题中找到了一个解决方法,它说我应该这样做:
if False:
return '777 error', 777
很遗憾,上面的代码会导致白屏,即使使用Werkzeug调试器也不能解决问题。
我知道我可以简单地执行以下操作:
if False:
return render_template('777.html')
但如果我使用abort()
,代码会更加清晰。有没有办法创建自定义错误码?