Собственные страницы ошибок Flask


Ответы

HTML

from flask import render_template

@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404

Шаблон:

{% extends "layout.html" %}
{% block title %}Страница не найдена{% endblock %}
{% block body %}
  <h1>Страница не найдена</h1>
  <a href="{{ url_for('index') }}">Перейти на главную</a>
{% endblock %}

JSON для RESTful API

from flask import make_response

@app.errorhandler(404)
def not_found(error):
    return make_response(jsonify({'error': 'Not found'}), 404)