导入我创建的模块/软件包时遇到问题。
from routes.b2b import api as Api
Api.User.Validate
Api.User.Validate
的错误为module 'utils.db.system.User' has no attribute 'Validate'
,这应该不是因为我导入的是Api.User.Validate
而不是utils.db.system.User
这是因为我创建的软件包的命名冲突吗?但它们放在不同的目录中。
import tornado.web
import routes.b2b as Routes
from routes.b2b import api as Api
print(Routes)
URLS=[
tornado.web.url(r"/", Routes.Main.Index,name="defaut"),
tornado.web.url(r"/overlay", Routes.Main.Overlay,name="overlay"),
tornado.web.url(r"/api/user", Api.User.Validate,name="overlay"),
# PDF's
tornado.web.url(r"/api/document/voucher.pdf", Routes.PDF.Voucher,name="voucher"),
tornado.web.url(r"/api/document/invoice.pdf", Routes.PDF.Invoice,name="invoice"),
]
现在我认为包装上应该没有冲突,我的问题是,为什么它要求utils.db.system.User
而不是Api.User.Validate
下的routes.b2b
我的理论是,导入时可能会发生冲突,因为如果我有routes.api.Cart
和routes.api.Travel
包,那么routes.api.Travel
的对象和对象Cart
现在我导入routes.api.Cart
,它将引用routes.api.Travel.Cart
而不是routes.api.Cart
python3有东西吗?还是我错误地配置了我创建的软件包?
同时,我没有更改软件包,以免与文件的其他子目录或类冲突,我也了解了from __future__ import absolute_import
,但仍然无法正常工作