我尝试在 Flask 中使用蓝图进行 404 错误处理,但我似乎没有让它工作。这是我的代码:

I tried using Blueprints for 404 error handling in Flask, but I do not seem to get it working. Here is my code:

errors/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

errors/__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 错误的页面无法通过错误蓝图访问。

我自己解决了这个问题。

我这样做了:

我删除了 errors/handlers.py 文件,并将代码添加到 errors/int.py 从而避免了另一个文件导入以访问错误的蓝图处理程序。这似乎对我有用。