如何将我的error_handler模​​块导入烧瓶中的app.py中?

时间:2020-09-12 18:11:12

标签: python flask web backend

我将烧瓶的错误处理程序分成了一个单独的模块,位于“ app.py”目录下的“ error_handlers.py”中。我尝试将error_handlers模块导入到应用模块中,但我不断收到ImportError:

    from app import app
ImportError: cannot import name 'app' from partially initialized module 'app' (most likely due to a circular import)

我查找了类似的问题并添加了蓝图,但是我仍然遇到相同的错误。请问我做错了什么吗?我的代码如下:

app.py

import os

from error_handler import *

from flask import Flask, flash, jsonify, redirect, render_template, request, session, abort
from flask_session import Session
from tempfile import mkdtemp

from helpers import lookup, login_required

# Configure application
app = Flask(__name__)
app.register_blueprint(error_handlers.blueprint)
...

error_handlers.py

from app import app
from flask import render_template, Blueprint

blueprint = Blueprint('error_handlers', __name__)


@blueprint.app_errorhandler(404)
def page_not_found(e):
return render_template("errors/404.html")

1 个答案:

答案 0 :(得分:1)

嘿,您得到Circular Import Error,所以请更改文件名,否则函数名必须与文件名不同。
这样,编译器就不会混淆要调用的函数。