使用pylons 0.9.7,我正在尝试创建一个按需连接到数据库的函数。我希望可以从所有模型类中的所有函数访问它。
在model/__init__.py
中,我有:
#Establish an on-demand connection to the central database
def connectCentral():
engine = engine_from_config(config, 'sqlalchemy.central.')
central.engine = engine
central.Session.configure(bind=engine)
此功能随处可访问。但是,当我尝试在model/class.py
中指定的类中运行它时,它返回:
NameError: global name 'connectCentral' is not defined
我必须做任何特殊的进口吗?有更好的方法吗?
感谢。
答案 0 :(得分:2)
from model import connectCentral
答案 1 :(得分:1)
你做过import init
吗?或者更确切地说是from init import connectCentral
?
如果你这样做,那么应该定义这样的名字。如果没有,你可以尝试在方法体中编写global connectCentral
,但我相信它仅用于使用全局变量。
您确定,此模块应该具有名称 init.py 而不是 __ init __。py 吗?您是否可以发布更多代码,尝试使用您的功能?
修改强>
所以你有__init__.py
,很好。你在做导入from model import connectCentral
吗?您是否有任何进口货物(例如从__init__.py
中的class.py
导入并从class.py
中的__init__.py
导入)?