我的项目有以下结构:
myproject/
|-- myproject/
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| |-- wsgi.py
|-- apps/
| |-- dashboard/
| | |-- static/
| | |-- templates/
| | |-- __init__.py
| | |-- admin.py
| | |-- apps.py
| | |-- forms.py
| | |-- models.py
| | |-- tests.py
| | |-- views.py
| |-- data/
| | |-- __init__.py
| | |-- apps.py
| | |-- models.py
| | |-- router.py
| | |-- tests.py
| |-- __init__.py
|-- manage.py
设置文件添加了以下已安装的应用:
'apps.data',
'apps.dashboard',
在主项目中,我可以从我创建的应用程序中导入没有问题。但是,仪表板应用程序依赖于数据应用程序,我似乎无法从数据应用程序导入。
urls.py导入'导入apps.dashboard.views'没有任何问题,但我尝试了很多东西将模型从数据导入仪表板。我在仪表板视图中使用了数据模型。
以下工作均无效:
from data.models import ModelName
from apps.data.models import ModelName
from .data.models import ModelName
from .apps.data.models import ModelName
我得到' ImportError:没有名为data.models的模块'无论。
在apps.py文件中,DataConfig类的名称设置为' dashboard'和'数据'。
任何人都可以解释我如何从仪表板中的数据访问模型吗?
由于
答案 0 :(得分:2)
from .data.models
是该文件存在的当前目录的导入 relative ,例如,它会在data
内查找dashboard
模块目录目录。如果您想参考相对于data
模块的dashboard
模块,您应该能够使用
from ..data.models import Foo
使用绝对导入取决于您的PYTHONPATH
环境变量。您可以通过在Python REPL中调整sys.path
来解决它。
答案 1 :(得分:1)
从我的头脑中,我可以提出一些建议:
__init__.py
文件,如果它们不是空的,您将拥有
只访问其中导入的内容。dashboard.models
从data.models
导入dashboard.models
,则从from apps.data import models
导入。from apps.data.models import ModelName
或while a in range(0,len(vertices)): # Loop 1
for j in newdict: # Loop 2
steps+=1 #count number of times it goes through the loop
print(steps)
if a>=len(vertices) or steps>=100000:
break #this is where my error is occurring
似乎是正确的方法 - 了解这一点寻找解决方案。