【发布时间】:2013-10-15 12:12:16
【问题描述】:
我正在构建 django 应用程序,但遇到了 som 导入问题。我的文件结构:
project/
my_app/
models/
__init__.py
Article.py
StockMovementProduct.py
tools/
__init__.py
Synchronizer.py
project/my_app/models/_init_.py:
from Article import *
from StockMovementProduct import *
project/my_app/models/Article.py:
from django.db import models
class Article(models.Model):
[...]
project/my_app/models/StockMovementProduct.py:
from django.db import models
from my_app.tools import Synchronizer
class StockMovementProduct(models.Model):
def sync_articles(self):
sync = Synchronizer(self)
[...]
project/my_app/tools/_init_.py为空
project/my_app/tools/Synchronizer.py:
from my_app.models import Article
from my_app.models import StockMovementProduct
class Synchronizer():
[...]
当我运行我的代码时,会出现此错误:
File "/home/bux/Projets/project/my_app/models/__init__.py", line 7, in <module>
from StockMovementProduct import *
File "/home/bux/Projets/project/my_app/models/StockMovementProduct.py", line 5, in <module>
from my_app.tools import Synchronizer
File "/home/bux/Projets/project/my_app/tools/Synchronizer.py", line 2, in <module>
from my_app.models import StockMovementProduct
ImportError: cannot import name StockMovementProduct
我不明白为什么(在 Synchronizer.py 中)Article 导入工作而 StockMovementProduct 导入不工作。
在 Synchronizer.py 我也尝试:
from my_app.models import Article
from ..models import StockMovementProduct
但没有成功。导入方法缺少什么?
【问题讨论】:
标签: python django namespaces