Я пытался использовать Blueprints для обработки ошибок 404 во Flask, но мне кажется, что это не работает. Вот мой код: - PullRequest
0 голосов
/ 08 мая 2018

ошибки / handlers.py

from flask import render_template
from autoapp import app
from dockblaster.errors import errors_blueprint


@app.errorhandler(404)
@errors_blueprint.app_errorhandler(404)
def not_found_error(error):
    return render_template('error_pages/page_not_found.html'), 404

Ошибки / __ init__.py:

from flask import Blueprint
errors_blueprint = Blueprint('errors', __name__)
import dockblaster.errors

Я наконец-то регистрирую проект в app.py:

def create_app(config_object=ProdConfig):

"""An application factory, as explained here: http://flask.pocoo.org/docs/patterns/appfactories/.
:param config_object: The configuration object to use.
"""

app = Flask(__name__.split('.')[0])
app.config.from_object(config_object)

from dockblaster.errors import errors_blueprint
app.register_blueprint(errors_blueprint)

register_extensions(app)
register_blueprints(app)
return app

Мне кажется, что это не работает, потому что страница, созданная мной для перенаправления ошибок 404, недоступна с планом ошибок.

1 Ответ

0 голосов
/ 09 мая 2018

Я смог разобраться сам.

Я сделал это:

Я удалил файл errors / handlers.py и добавил код в errors / int .py, таким образом избегая импорта другого файла для доступа к обработчику светокопий для ошибок. Казалось, это работает для меня.

...