我正在开发具有以下结构的烧瓶应用程序:
src
├── config.yaml
├── requirements.txt
├── run.py
└── vortex
├── db.py
├── __init__.py
├── models
│ ├── computer.py
│ ├── image.py # Contains a class named Image
│ └── __init__.py
├── templates
│ └── ...
└── views.py
modals/__init__.py
:
from .computer import Computer
from .image import Image
modals/computer.py
:
from vortex.models import *
i = Image(...)
但是不知何故,我无法访问modals/computer.py
中的Image类,但是文档中说,如果我不使用__all__
,那么__init__.py
中定义的所有名称都应该导入。这是否会导致一个循环进口将是一个问题?你知道吗
我做错了什么,如何使用程序其他部分的模型中定义的所有类?你知道吗
编辑:
回溯:
...
File "..../src/vortex/models/computer.py", line 35, in image
return Image.find_by_id(self._fields.image)
NameError: global name 'Image' is not defined
如果您在
computer.py
中,并且希望从同一个包中导入其他内容,只需使用相对导入:如果你想在一个地方导入一堆东西,用你的导入创建一个文件
allModels.py
,然后执行from .allModels import *
。请参阅this question以了解如何/为什么相对地导入__init__.py
比较困难。你知道吗相关问题 更多 >
编程相关推荐