我正在做一个 django 项目,我有以下设置
project
/products
/product1
/models.py
/forms.py
/productN
/otherapps
#models.py
from .forms import foo
...
#forms.py
from .models import bar
您会看到循环导入。我尝试了多种组合,但我似乎无法做到正确。我不想将 forms.py 中的代码移动到 models.py
我试过:
from products import *
from products.product1 import *
from products.product1.form import *
import products
import products.product1
import products.product1.form
一些帮助将不胜感激。
最佳答案
在 models.py 中移动你的
from .forms import foo
到真正需要使用foo的方法里面。这将在调用该方法之前停止导入,而不是在导入 models.py 后立即停止导入。这不是最佳实践,如果您在很多地方使用 foo,那么维护起来会很痛苦,但它应该可以修复循环导入。
关于python - django 子应用程序中的循环导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25322372/