我有以下内容:
def handle_error_404(error):
flash('Server says: {0}'.format(error), 'error')
return render_template('404.html', selected_menu_item=None)
def handle_error_500(error):
flash('Server says: {0}'.format(error), 'error')
return render_template('500.html', selected_menu_item=None)
def init_error_handlers(app):
if app:
app.error_handler_spec[None][404] = handle_error_404
app.error_handler_spec[None][500] = handle_error_500
我正在跟踪有关如何使用客户错误处理程序的教程,但似乎找不到解决此错误的方法。我该如何解决?
答案 0 :(得分:0)
flask docs说您应该使用errorhandler
装饰器注册一个错误处理程序。使用您的代码的示例:
def handle_error_404(error):
flash('Server says: {0}'.format(error), 'error')
return render_template('404.html', selected_menu_item=None)
def handle_error_500(error):
flash('Server says: {0}'.format(error), 'error')
return render_template('500.html', selected_menu_item=None)
def init_error_handlers(app):
if app:
app.errorhandler(404)(handle_error_404)
app.errorhandler(500)(handle_error_500)
或者:
def init_error_handlers(app):
if app:
@app.errorhandler(404)
def handle_error_404(error):
flash('Server says: {0}'.format(error), 'error')
return render_template('404.html', selected_menu_item=None)
@app.errorhandler(500)
def handle_error_500(error):
flash('Server says: {0}'.format(error), 'error')
return render_template('500.html', selected_menu_item=None)