如何从__init__.py将函数导入到蓝图(或其他模块)中? (烧瓶)

时间:2018-11-06 12:37:31

标签: python flask module

所以我有一个这样的项目文件夹:

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”的模块

如何将这一特定功能导入模块?还是有任何更高效,更轻松的方式来做到这一点? 提前致谢! (另外,如果我发现有问题,我会尝试立即发布)

0 个答案:

没有答案