flask为blueprint增加error_handler
对整个app增加errorhandler,只需如下:
@app.errorhandler(404) def page_not_found(error): cats = Category.get_all_data_cats() return render_template('portal/404.html', cats=cats), 404
如果只在某个蓝图中(比如放在__init__.py中):
@portal_page.errorhandler(404) def page_not_found(error): cats = Category.get_all_data_cats() return render_template('portal/404.html', cats=cats), 404
上述代码并不报错,abort(404)也可以跳转到404,但当页面遇到404错误时,并不能自动跳转到404页面。
改为如下写法:
1 @portal_page.app_errorhandler(404) 2 def page_not_found(error): 3 cats = Category.get_all_data_cats() 4 return render_template('portal/404.html', cats=cats), 404
正常。