好的 - 我已经和Django合作了几个月了,并且遇到了一个奇怪的问题.要设置它,这是我的webapp结构.
主要的Django项目被调用cpm.我在cpm文件夹中有一堆django应用程序.在每个应用程序中,我有我的models.py文件.
现在,当我想从其他应用程序创建/使用模型时,我会做类似的事情:
from cpm.products.models import *
Run Code Online (Sandbox Code Playgroud)
假设有一个名为app的应用程序products.最近,我开始收到一些错误,比如,cannot import XYZ from products.经过多次搜索,我改变了这条线:
from cpm.products.models import *
Run Code Online (Sandbox Code Playgroud)
至
from products.models import *
Run Code Online (Sandbox Code Playgroud)
我刚刚丢弃了cpm.部件,现在它可以工作了.
有人能告诉我为什么会这样吗?它似乎只发生在我的部分应用程序上(我在CPM项目中有一堆).我希望确保我的语法准确,因为我向前迈进.
谢谢!
项目根目录已从路径中的某个位置的python路径中删除,或者您__init__.py从根目录中删除了该文件.
另外,导入*会导致问题,尤其是当您开始添加大量应用时.考虑做from products import models as prod_models.然后prod_models.MyModel在需要引用模型的地方做.
| 归档时间: |
|
| 查看次数: |
3989 次 |
| 最近记录: |