所以我有一个这样的项目文件夹:
FlaskApp/
__init__.py
something.py
我已经为我的应用程序初始化了mysql连接,如下所示:
app = Flask(__name__)
mysql = MySQL()
app.config['MYSQL_DATABASE_USER'] = 'u'
app.config['MYSQL_DATABASE_PASSWORD'] = 'p'
app.config['MYSQL_DATABASE_DB'] = 'db'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)
在它之后,我有一个非常方便的函数声明如下:
def handle_mysql_cmd(command):
#some command handling
现在,我已经创建了一些蓝图,并将它们放入不同的.py文件中,我想在这些蓝图中使用 handle_mysql_cmd()。例如在something.py中,我有这样的代码:
bp = Blueprint('index', __name__, url_prefix='/')
@bp.route('/index/', methods=['GET', 'POST'])
def homepage():
cmd = "SELECT * FROM USERS"
handle_mysql_cmd(cmd)
#...
我的问题是,如果我尝试在something.py中使用相对导入:
from . import handle_mysql_cmd as handle_mysql_cmd
我收到以下错误:
ImportError:尝试相对导入,但没有已知的父包
如果我这样尝试:
from FlaskApp import handle_mysql_cmd as handle_mysql_cmd
它说:
没有名为“ FlaskApp”的模块
如何将这一特定功能导入模块?还是有任何更高效,更轻松的方式来做到这一点? 提前致谢! (另外,如果我发现有问题,我会尝试立即发布)